This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi experts,
we intend to build an application on AM243x using more than one core, and we intend to use XIP, because we need much code memory.
To debug such an application, it is necessary to iteratively re-compile, flash, and debug the code. How is this supposed to work?
Currently, what I can do is
- switch to UART boot and flash the application
- switch for FLASH boot and execute
- attach the debugger to the running system
This is quite time comsuming.
Is there a way to flash the out file (including XIP) from the debug environment?
Best regards,
Alexander
Hi Alexander,
We do support JTAG based flashing so you don't have to switch between the boot mode. You can refer to below for JTAG flashing -
AM243x MCU+ SDK: Flashing Tools (ti.com)
For more info on debugging the XIP apps, you can please check below -
AM243x MCU+ SDK: Enabling XIP or eXecute In Place (ti.com)
Regards,
Prasad
Hi Prasad,
thanks for your quick response.
The JTAG SBL mechanism works with a dedicated firmware running on the AM243x. Are we supposed to include this project in our application firmware?
Is it possible to have a GEL or JS implementation of the JTAG SBL?
BR
Alexander
Hi Alex,
Yes, currently we have JS implementation of JTAG SBL. My suggestion is to try it first and let us know if any concerns/issues in the flow.
Regards,
Prasad
Hi Alex,
Elaborating on this -
The current JTAG SBL uses load.js script to load and run the binary to core in CCS.
You can refer to load.js implementation below -
mcupsdk-core/load.js at next · TexasInstruments/mcupsdk-core · GitHub
Regards,
Prasad
HI Prasad,
I tried to load via the load.js script. The result I get is "MAIN_Cortex_R5_0_0: File Loader: Verification failed: Values at address 0x60100000 do not match Please verify target memory and memory map". This is the same as if I load the out-File via the debug menu. 0x60100000 is the beginning of the FLASH/XIP memory.
load.js works well if I link all the code to MSRAM.
Can you confirm that the load.js should program the flash?
What am I missing?
BR
Alex
Hi Alex,
Sorry for confusion here. Load.js won't load the flash memories. Flash memories needs to be flashed separately by the uniflash tool.
So below is the flow -
1. Using the uniflash tool flash the memory sections allocated in the flash.
- below config corresponds to the flash sections (refer Flash configuration file section).
Edit below line to point to the user application XIP image (.appimage_xip
) file. When not using XIP mode, this file input is optional.
2. Use load.js for loading the SRAM/TCM sections.
Please note that flash memories can't be loaded by the load.js.
Regards,
Prasad