This is a bootloader example, which shows an example of booting different CPUs flashed at different offsets within the EVM flash. This allows users to update a single CPU binary without updating the other CPU binaries.
Parameter | Value |
---|---|
CPU + OS | r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Board | am64x-evm |
Example folder | examples/drivers/boot/sbl_ospi_multi_partition |
${SDK_INSTALL_PATH}/examples/drivers/boot/sbl_ospi_multi_partition/am64x-evm/{cpu}_{os}/default_sbl_ospi_multi_partition.cfg
default_sbl_ospi_multi_partition.cfg
shown above.C:/ti/mcu_plus_sdk
and this example and IPC application is built using makefiles, in Windows, cd C:/ti/mcu_plus_sdk/tools/boot C:/ti/mcu_plus_sdk/tools/boot>python uart_uniflash.py -p COM13 --cfg=C:/ti/mcu_plus_sdk/examples/drivers/boot/sbl_ospi_multi_partition/am64x-evm/r5fss0-0_nortos/default_sbl_ospi_multi_partition.cfg
After flashing and booting the EVM, you will see below output on the UART console
Starting OSPI Multi-Partition Bootloader ... DMSC Firmware Version 21.5.0--v2021.05 (Terrific Llam DMSC Firmware revision 0x15 DMSC ABI revision 3.1 INFO: Bootloader_runCpu:147: CPU r5f1-0 is initialized to 800000000 Hz !!! INFO: Bootloader_runCpu:147: CPU r5f1-1 is initialized to 800000000 Hz !!! INFO: Bootloader_runCpu:147: CPU m4f0-0 is initialized to 400000000 Hz !!! INFO: Bootloader_runCpu:147: CPU a530-0 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:199: CPU r5f0-0 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:199: CPU r5f0-1 is initialized ΓΈ[IPC NOTIFY ECHO] Message exchange started by main core !!! [m4f0-0] 0.283025s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!! [r5f0-1] 0.001023s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!! [r5f0-1] 2.152508s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!! [r5f1-0] 0.435019s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!! [r5f1-0] 2.585876s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!! [r5f1-1] 0.360022s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!! [r5f1-1] 2.511288s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!! [a530-0] 0.209031s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!! [m4f0-0] 4.045393s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!! [IPC NOTIFY ECHO] All echoed messages received by main core from 5 remote cores !!! [IPC NOTIFY ECHO] Messages sent to each core = 1000000 [IPC NOTIFY ECHO] Number of remote cores = 5 All tests have passed!! [a530-0] 4.569557s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!!