In this step we will flash the application that we have build and run using CCS to the EVM flash. We can then boot this application without being connected to CCS via JTAG.
.appimage
is generated. This is the file we need to flash.${SDK_INSTALL_PATH}/examples/hello_world/{board}/m4fss0-0_freertos/ti-arm-clang/hello_world.release.appimage
${SDK_INSTALL_PATH}/examples/hello_world/{board}/r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage
${SDK_INSTALL_PATH}/examples/hello_world/{board}/a53ss0-0_freertos/gcc-aarch64/hello_world.release.appimage
${CCS_WORKSPACE_PATH}/hello_world_{board}_m4fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_m4fss0-0_freertos_ti-arm-clang.appimage
${CCS_WORKSPACE_PATH}/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage
${CCS_WORKSPACE_PATH}/hello_world_{board}_a53ss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_a53ss0-0_freertos_gcc-aarch64.appimage
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sk/default_sbl_ospi_linux_hs_fs.cfg
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sk-lp/default_sbl_ospi_nand_linux_hs_fs.cfg
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sip-sk/default_sbl_ospi_linux_hs_fs.cfg
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sk/default_sbl_ospi_hs_fs.cfg
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sk-lp/default_sbl_ospi_nand_hs_fs.cfg
${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am62x-sip-sk/default_sbl_ospi_hs_fs.cfg
.appimage
file. Give the absolute path to the .appimage
file or path relative to ${SDK_INSTALL_PATH}/tools/boot
. Make sure to use forward slash /
in the filename path.--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/{board}/m4fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash --flash-offset=0x100000
--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/{board}/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash --flash-offset=0xA00000
.appimage
file. Give the absolute path to the .appimage
file or path relative to ${SDK_INSTALL_PATH}/tools/boot
. Make sure to use forward slash /
in the filename path.--file=../../examples/drivers/ipc/ipc_rpmsg_echo/{board}/m4fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo.release.appimage --operation=flash --flash-offset=0x100000
--file=../../examples/drivers/ipc/ipc_rpmsg_echo/{board}/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo.release.appimage --operation=flash --flash-offset=0xA00000
--file=../../examples/drivers/ipc/ipc_rpmsg_echo_/{board}/a53ss0-0_freertos/gcc-aarch64/ipc_rpmsg_echo.release.appimage --operation=flash --flash-offset=0xC00000
The linux and HSM app images are to be generated to flash along with your application for MCU M4.
${SDK_INSTALL_PATH}/tools/boot/linuxAppimageGen/board/{board_name}/config.mak
file.${SDK_INSTALL_PATH}/tools/boot/linuxAppimageGen
on terminal${SDK_INSTALL_PATH}/tools/boot/HSMAppimageGen
on terminal
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sk/default_sbl_ospi_linux_hs_fs.cfg
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sk-lp/default_sbl_ospi_nand_linux_hs_fs.cfg
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sip-sk/default_sbl_ospi_linux_hs_fs.cfg
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sk/default_sbl_ospi_hs_fs.cfg
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sk-lp/default_sbl_ospi_nand_hs_fs.cfg
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am62x-sip-sk/default_sbl_ospi_hs_fs.cfg
/dev/ttyUSB0
python3
to invoke python3.x, just python
command may invoke python 2.x which will not work with the flashing script.
Parsing config file ... Parsing config file ... SUCCESS. Found 9 command(s) !!! Executing command 1 of 9 ... Found flash writer ... sending sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.tiimage Sent flashwriter sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.tiimage of size 242313 bytes in 24.98s. Executing command 2 of 9 ... Command arguments : --file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage --operation=flash --flash-offset=0x0 Sent ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage of size 116008 bytes in 12.46s. [STATUS] SUCCESS !!! Executing command 3 of 9 ... Command arguments : --operation=flash-phy-tuning-data Sent flash phy tuning data in 3.87s. [STATUS] SUCCESS !!! Executing command 4 of 9 ... Command arguments : --file=../../examples/drivers/boot/sbl_ospi_linux_multistage/sbl_ospi_linux_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_linux_stage1.release.tiimage --operation=flash --flash-offset=0x0 Sent ../../examples/drivers/boot/sbl_ospi_linux_multistage/sbl_ospi_linux_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_linux_stage1.release.tiimage of size 248841 bytes in 26.43s. [STATUS] SUCCESS !!! Executing command 5 of 9 ... Command arguments : --file=../../examples/drivers/boot/sbl_ospi_linux_multistage/sbl_ospi_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_linux_stage2.release.appimage --operation=flash --flash-offset=0x80000 Sent ../../examples/drivers/boot/sbl_ospi_linux_multistage/sbl_ospi_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_linux_stage2.release.appimage of size 101764 bytes in 12.6s. [STATUS] SUCCESS !!! Executing command 6 of 9 ... Command arguments : --file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/m4fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash --flash-offset=0x100000 Sent ../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/m4fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage of size 50316 bytes in 7.8s. [STATUS] SUCCESS !!! Executing command 7 of 9 ... Command arguments : --file=../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage --operation=flash --flash-offset=0x800000 Sent ../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage of size 124 bytes in 3.1s. [STATUS] SUCCESS !!! Executing command 8 of 9 ... Command arguments : ../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash --flash-offset=0xA00000 Sent ../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage of size 138180 bytes in 15.96s. [STATUS] SUCCESS !!! Executing command 9 of 9 ... Command arguments : --file=../../tools/boot/linuxAppimageGen/board/am62x-sk/linux.appimage --operation=flash --flash-offset=0xC00000 Sent ../../tools/boot/linuxAppimageGen/board/am62x-sk/linux.appimage of size 736528 bytes in 72.12s. [STATUS] SUCCESS !!! All commands from config file are executed !!!
Parsing config file ... Parsing config file ... SUCCESS. Found 9 command(s) !!! Executing command 1 of 9 ... Found flash writer ... sending sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage Sent flashwriter sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage of size 248888 bytes in 24.89s. Executing command 2 of 9 ... Command arguments : --file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0 Sent ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs of size 124375 bytes in 15.19s [STATUS] SUCCESS !!! Executing command 3 of 9 ... Command arguments : --operation=flash-phy-tuning-data Sent flash phy tuning data in 3.13s. [STATUS] SUCCESS !!! Executing command 4 of 9 ... Command arguments : --file=sbl_prebuilt/am62x-sk/sbl_ospi_stage1.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 Sent sbl_prebuilt/am62x-sk/sbl_ospi_stage1.release.hs_fs.tiimage of size 290104 bytes in 30.23s. [STATUS] SUCCESS !!! Executing command 5 of 9 ... Command arguments : --file=../../examples/drivers/boot/sbl_ospi_multistage/sbl_ospi_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x80000 Sent ../../examples/drivers/boot/sbl_ospi_multistage/sbl_ospi_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_stage2.release.appimage.hs_fs of size 138495 bytes in 16.03s. [STATUS] SUCCESS !!! Executing command 6 of 9 ... Command arguments : --file=../../examples/hello_world/am62x-sk/m4fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs --operation=flash --flash-offset=0x100000 Sent ../../examples/hello_world/am62x-sk/m4fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs of size 38575 bytes in 6.33s. [STATUS] SUCCESS !!! Executing command 7 of 9 ... Command arguments : --file=../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage.hs_fs --operation=flash --flash-offset=0x800000 Sent ../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage.hs_fs of size 9646 bytes in 3.95s. [STATUS] SUCCESS !!! Executing command 8 of 9 ... Command arguments : --file=../../examples/hello_world/am62x-sk/r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs --operation=flash --flash-offset=0xA00000 Sent ../../examples/hello_world/am62x-sk/r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs of size 129335 bytes in 16.05s. [STATUS] SUCCESS !!! Executing command 9 of 9 ... Command arguments : --file=../../examples/hello_world/am62x-sk/a53ss0-0_freertos/gcc-aarch64/hello_world.release.appimage.hs_fs --operation=flash --flash-offset=0xC00000 Sent ../../examples/hello_world/am62x-sk/a53ss0-0_freertos/gcc-aarch64/hello_world.release.appimage.hs_fs of size 64431 bytes in 12.88s. [STATUS] SUCCESS !!! All commands from config file are executed !!!
Hello World!
Sciserver Testapp Built On: May 8 2024 10:16:43 Sciserver Version: v2023.11.0.0REL.MCUSDK.MM.NN.PP.bb RM_PM_HAL Version: vMM.NN.PP Starting Sciserver..... PASSED Hello World!
SYSFW Firmware Version 9.2.7--v09.02.07 (Kool Koala) SYSFW Firmware revision 0x9 SYSFW ABI revision 3.1 [BOOTLOADER_PROFILE] Boot Media : FLASH [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz [BOOTLOADER_PROFILE] Boot Image Size : 169 KB [BOOTLOADER_PROFILE] Cores present : m4f0-0 r5f0-0 [BOOTLOADER PROFILE] System_init : 5506us [BOOTLOADER PROFILE] Board_init : 0us [BOOTLOADER PROFILE] Drivers_open : 297us [BOOTLOADER PROFILE] Board_driversOpen : 6784us [BOOTLOADER PROFILE] Sciclient Get Version : 10205us [BOOTLOADER PROFILE] App_waitForMcuPbist : 4989us [BOOTLOADER PROFILE] App_waitForMcuLbist : 7689us [BOOTLOADER PROFILE] App_loadImages : 3330us [BOOTLOADER PROFILE] App_loadSelfcoreImage : 3944us [BOOTLOADER_PROFILE] SBL Total Time Taken : 42748us Image loading done, switching to application ... Starting MCU-m4f and 2nd stage bootloader SYSFW Firmware Version 9.2.7--v09.02.07 (Kool Koala) SYSFW Firmware revision 0x9 SYSFW ABI revision 3.1 [BOOTLOADER_PROFILE] Boot Media : FLASH [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz [BOOTLOADER_PROFILE] Boot Image Size : 193 KB [BOOTLOADER_PROFILE] Cores present : hsm-m4f0-0 r5f0-0 a530-0 [BOOTLOADER PROFILE] System_init : 2823us [BOOTLOADER PROFILE] Board_init : 1us [BOOTLOADER PROFILE] Drivers_open : 368us [BOOTLOADER PROFILE] Board_driversOpen : 106us [BOOTLOADER PROFILE] Sciclient Get Version : 10253us [BOOTLOADER PROFILE] App_loadImages : 2684us [BOOTLOADER PROFILE] App_loadSelfcoreImage : 3932us [BOOTLOADER PROFILE] App_loadA53Images : 3781us [BOOTLOADER_PROFILE] SBL Total Time Taken : 23952us Image loading done, switching to application ... Starting RTOS/Baremetal applications Hello World!