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.

CCS/AM5746: How to reload out file to core using Scripts etc

Part Number: AM5746

Tool/software: Code Composer Studio

My customers want to do the following in the CCS debugging environment:
Step 1 :Load out file to core0
Step 2 :Set and execute arbitrary breakpoint
Step 3 :Load out file of another project to core 0 again after "Break"

Question:
Can we do the above steps automatically with GEL or script etc?
Would you tell me how to automate if possible?

HW:TMDSIDK574
SW:bios_6_52_00_12(pdk_am57xx_1_0_11)
CCS: version8.1

  • Rei,

    This is exactly what the SBL boot flow  and the UART app loader does on AM574x.  The SBL.out is loaded by the RBL into OCMC memory and then the control is passed to application .out.  UART app loader is a way to automate tested where a .out is loaded over JTAG which uses XMODEM transfer from UART to load in an application image.

    To do this purely using CCS and JTAG, we typically recommend doing a system reset especially if you are using A15 as there is no good way to ensure that the cache, MMU, interrupt status and stack pointer is left in a clean state. What is the purpose of this debug mechanism  requirement, is it because it takes to long to initialize the GEL and reload the .out on A15 ?

    If this is to speed up reload and debugging on A15 then I recommend referring to the following suggestion:

    I prefer Apporach #2 since it is faster and the SBL execution from the SD card happens automatically after POR using ROM boot which takes care of required initialization. Note that this approach still would require users to use a GEL to wake up slave cores as SBL wakes up slave cores only if app is present.

    CCS also provides the option of using DSS scripting that can be used to automate the flow. The script can be run from the scripting console in CCS to  

    Regards,

    Rahul

  • Rahul Prabhu said:
    To do this purely using CCS and JTAG, we typically recommend doing a system reset especially if you are using A15 as there is no good way to ensure that the cache, MMU, interrupt status and stack pointer is left in a clean state.

    In case it is of any use, in https://e2e.ti.com/support/processors/f/791/p/550429/2015078#2015078 there are some GEL script changes which allow the A15 cache and MMU to be cleaned without having to perform a full system reset and re-run all of the GEL script initialisation.

    This technique should be usable to (re-)load a SYS/BIOS program which has enabled the cache and MMU, but haven't checked if there could be any problems if the previous program had enabled interrupts or peripherals.