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.When building with makefiles and single-core projects, this file can be found here (shown for hello world example),
${SDK_INSTALL_PATH}/examples/hello_world/{board}/r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs
${CCS_WORKSPACE_PATH}/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
${SDK_INSTALL_PATH}/examples/drivers/ipc/ipc_notify_echo/{board}/system_freertos_nortos/ipc_notify_echo_system.release.appimage.hs_fs
${CCS_WORKSPACE_PATH}/ipc_notify_echo_{board}_system_freertos_nortos/Release/ipc_notify_echo_system.appimage.hs_fs
.appimage.hs_fs
file. Give the absolute path to the .appimage.hs_fs
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_notify_echo/{board}/system_freertos_nortos/ipc_notify_echo_system.release.appimage.hs_fs –operation=flash –flash-offset=0x80000
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM148 --cfg=sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg
/dev/ttyUSB0
python3
to invoke python3.x, just python
command may invoke python 2.x which will not work with the flashing script.
C:/ti/mcu_plus_sdk/tools/boot>python uart_uniflash.py -p COM148 --cfg=sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg Parsing config file ... Parsing config file ... SUCCESS. Found 3 command(s) !!! Executing command 1 of 3 ... Found flash writer ... sending sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage Sent flashwriter sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage of size 289169 bytes in 28.52s. Executing command 2 of 3 ... Command arguments : --file=sbl_prebuilt/am243x-lp/sbl_ospi.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 Sent sbl_prebuilt/am243x-lp/sbl_ospi.release.hs_fs.tiimage of size 241937 bytes in 25.31s. [STATUS] SUCCESS !!! Executing command 3 of 3 ... Command arguments : --file=C:/Users/XYZ/workspace_v10/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000 Sent C:/Users/XYZ/workspace_v10/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs of size 58772 bytes in 8.43s. [STATUS] SUCCESS !!! All commands from config file are executed !!!
cd ${SDK_INSTALL_PATH}/tools/boot python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am243x-evm/default_sbl_ospi.cfg
/dev/ttyUSB0
python3
to invoke python3.x, just python
command may invoke python 2.x which will not work with the flashing script.
C:/ti/mcu_plus_sdk/tools/boot>python uart_uniflash.py -p COM13 --cfg=sbl_prebuilt/am243x-evm/default_sbl_ospi.cfg Parsing config file ... Parsing config file ... SUCCESS. Found 3 command(s) !!! Executing command 1 of 3 ... Found flash writer ... sending sbl_prebuilt/am243x-evm/sbl_uart_uniflash.release.hs_fs.tiimage Sent flashwriter sbl_prebuilt/am243x-evm/sbl_uart_uniflash.release.hs_fs.tiimage of size 289169 bytes in 28.52s. Executing command 2 of 3 ... Command arguments : --file=sbl_prebuilt/am243x-evm/sbl_ospi.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 Sent sbl_prebuilt/am243x-evm/sbl_ospi.release.hs_fs.tiimage of size 241937 bytes in 25.31s. [STATUS] SUCCESS !!! Executing command 3 of 3 ... Command arguments : --file=C:/Users/XYZ/workspace_v10/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000 Sent C:/Users/XYZ/workspace_v10/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang/Release/hello_world_{board}_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs of size 58772 bytes in 8.43s. [STATUS] SUCCESS !!! All commands from config file are executed !!!
Starting OSPI Bootloader ... DMSC Firmware Version 21.1.1--v2021.01a (Terrific Lla DMSC Firmware revision 0x15 DMSC ABI revision 3.1 INFO: Bootloader_runCpu:151: CPU m4f0-0 is initialized to 400000000 Hz !!! INFO: Bootloader_runCpu:151: CPU r5f1-0 is initialized to 800000000 Hz !!! INFO: Bootloader_runCpu:151: CPU r5f1-1 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:214: CPU r5f0-0 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:214: CPU r5f0-1 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:235: All done, reseting self ... [DPL] Hwi post ... [DPL] Hwi post ... DONE !!! [DPL] Sleep for 100 msecs ... [DPL] Sleep ... DONE (Measured time = 100002 usecs, CPU cycles = 438501 ) !!! [DPL] Running cache operations ... [DPL] Running cache operations ... DONE !!! [DPL] Heap free size = 1984 bytes [DPL] Allocated 1023 bytes @ 0x70086080, heap free size = 896 bytes [DPL] Free'ed 1023 bytes @ 0x70086080, heap free size = 1984 bytes All tests have passed!!
Starting OSPI Bootloader ... DMSC Firmware Version 21.1.1--v2021.01a (Terrific Lla DMSC Firmware revision 0x15 DMSC ABI revision 3.1 INFO: Bootloader_runCpu:151: CPU m4f0-0 is initialized to 400000000 Hz !!! INFO: Bootloader_runCpu:151: CPU r5f1-0 is initialized to 800000000 Hz !!! INFO: Bootloader_runCpu:151: CPU r5f1-1 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:214: CPU r5f0-0 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:214: CPU r5f0-1 is initialized to 800000000 Hz !!! INFO: Bootloader_loadSelfCpu:235: All done, reseting self ... [DPL] Hwi post ... [DPL] Hwi post ... DONE !!! [DPL] Sleep for 100 msecs ... [DPL] Sleep ... DONE (Measured time = 100002 usecs, CPU cycles = 438501 ) !!! [DPL] Running cache operations ... [DPL] Running cache operations ... DONE !!! [DPL] Heap free size = 1984 bytes [DPL] Allocated 1023 bytes @ 0x70086080, heap free size = 896 bytes [DPL] Free'ed 1023 bytes @ 0x70086080, heap free size = 1984 bytes All tests have passed!!