Texas AM67 Cortex-R5, C7x (DSP)
mcu
project in the t3gemstone/examples repository contains sample
projects for two R5F real-time cores and two C7x DSP cores. Similar examples can be found in
the build/ti/ti-processor-sdk-rtos-j722s-evm-10_01_00_04/mcu_plus_sdk_j722s_10_01_00_22/examples
directory.
It is recommended to find an example project that suits your purpose, copy it to the mcu
project directory,
and develop on it.
Each example project has subdirectories for different cores. For example, the hello_world
project contains
the following directories:
c75ss0-0_freertos
c75ss1-0_freertos
main-r5fss0-0_freertos
mcu-r5fss0-0_freertos
.env
file as the MCU_TARGETS
variable. Add the absolute
or relative path of the project’s makefile
directory to the MCU_TARGETS
variable. Below is an example
for the mcu-r5fss0-0_freertos
core of the hello_world
project.
.syscfg
file.
The SysConfig GUI tool is used to add new peripherals or modify the Pin Mux settings of existing ones. To launch
SysConfig for an MCU project:
SYSCONFIG_TARGET
variable to the desired project.
.env
file ortask
program.Ctrl + S
shortcut, you can close the SysConfig interface.
.out
file to be loaded via remoteproc.
After copying a new project, follow these steps:IPC
tab under TI DRIVERS
.ADD
button.Linux A53 IPC RP Message
setting is active..syscfg
file with the Ctrl + S
shortcut and exit..out
files to be loaded onto the cores via remoteproc must be copied to the /lib/firmware
directory with
predefined names. The firmware names for each core are listed in the table below.
Core | Firmware |
---|---|
mcu-r5fss0-0 | j722s-mcu-r5f0_0-fw |
main-r5fss0-0 | j722s-main-r5f0_0-fw |
c7xss0-0 | j722s-c71_0-fw |
c7xss1-0 | j722s-c71_1-fw |
head /sys/class/remoteproc/remoteproc*/firmware
command. Since the cores may correspond to different
remoteproc devices after each boot, this must be checked.
/lib/firmware
directory.Todo: U-Boot TTL
init
program located in the rootfs.
init
program. First, the disk
encryption must be decrypted by the initramfs./
directory. The kernel then executes the init
program located in /init
, /sbin/init
, or a similar directory in the rootfs. This program loads some hardware
drivers (kernel modules), starts system services (such as network connectivity, time synchronization, package
updates, and Bluetooth), and launches the desktop environment (gnome, kde, xfce, etc.).