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/TMDX654IDKEVM: Template application can't print progress over the UART.

Part Number: TMDX654IDKEVM

Tool/software: Code Composer Studio

Hello,

I imported a template application from the SDK RTOS package. Compilation and target configuration was fine. Launching the target configuration and connecting DMSC_Coretex_M3 and Coretex_A53 were also fine with expected GEL outputs. After loading the application, pressing resume button didn't make any log on serial terminal. I tried both Linux and Windows version but the result was same. Could you help me to debug this issue?

Linux : minicom, 115200 8N1, ttyUSB0 according to dmesg (four ports ttyUSB0, ttyUSB1, ttyUSB2, ttyUSB3 from UART in my system)

Windows : Tera Term, 115200 8N1, COM30 according to Device Manager (four ports COM30,32,33,34 from UART in my system)

Thanks,

Jeff

  • Jeff,

    Can you confirm that you are connecting only to the A53 core to load/resume, and the M3 stays free-running? What is the version of the SDK that you are using?

    I just re-confirmed on my setup that with SDK 7.0 both the baremetal and rtos template apps are running correctly.

    Best regards,

    Dave

  • Hi Dave,

    I 'm using SDK version 06.03.00.106. 

    At debug window, I see that DMSC_Cortex_M3_0 is suspended and CortexA53_0_0 is running after I press resume button.

    Best Regards,

    Jeff

  • Jeff,

    The template apps are working fine for me with 6.3 as well. Note that after loading the DMSC firmware, the M3 needs to be running for the application to work properly as the board init will make calls to the firmware. Either do not connect to the M3, in which case you should see its status as "Disconnected: Running" or if it is shown as "suspended," connect to it, then explicitly run/resume before doing the same from the A53.

    Best regards,

    Dave

     

  • Hi Dave,

    I put a screenshot when the application is loaded at a breakpoint. The status of M3 and A53 are all suspended. They look normal, isn't it?

    The application is from "D:\ti\sdk_rtos_0603\processor_sdk_rtos_am65xx_6_03_00_106\demos\rtos_template_app\am65xx\evmAM65xx\A53\template_app\rtos".

    Are you trying same template application? The main program uses appPrint command. 

    The application can't complete Board_init in main.c file. I put some appPrint commands before Board_init but it was not printed over serial terminal.

    Best Regards,

    Jeff

    9.1.4.4.2. Connecting to the Target

    In the top left corner of CCS you should see a list of all of the available cores on your device. Right click on the primary core (listed below) and choose the Connect Target option. During this process you should see GEL output in the CCS console and the status of the core should change from “Disconnected” to “Suspended”.

  • Jeff,

    Yes, I am running the same. 

    Is it correct that you have your target configuration and debug configuration set to load the system firmware to the DMSC M3 as well as load the GEL files?

    For the firmware you need to be sure to have the launch_am65xx.js configured as per http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_how_to_guides.html#advanced-am65x-debug-setup-with-dmsc-firmware-load

    If yes, can you connect to the M3 and "resume" before doing the same on the A53? The Board_Init will not complete if the M3 is not running, as the initialization requires services from the SYSFW that is running on the M3.

    Best regards,

    Dave

  • Hi Dave,

    I placed required files at the path according to the tutorial 10.3.1.3.3 contents. DSS script was also modified according to my system path. 

    The folder "V0" under "packages/ti/drv/sciclient/src" was not found. So, I created it by myself to place ti-sck-firmware.am6x-gp.bin file in there.

    When the target configuration was launched, the DSS script was loaded at the scripting console as below picture. Are the logs all fine in your sight?

    Although the application is for a53, the connection was done for R5. I'm not sure it matters.

    When the application was loaded, M3 is "Disconnected : Running". Is it normal? Breakpoint wasn't seen at the main program.

    When I pressed resume button, the status of Cortex_R5 was changed to running but it never completed the process.

    It seems the Board_init() function still can't be completed. What else I should try to solve this? Thanks.

    Best Regards,

    Jeff

    DDS script is specified as an initialization script at debug configuration.

  • Jeff,

    Your console prints all look correct... I see the same when launching:

    You shouldn't need to create a V0 directory under src... can you clarify this point?

    >>The folder "V0" under "packages/ti/drv/sciclient/src" was not found. So, I created it by myself to place ti-sck-firmware.am6x-gp.bin file in there.<<

    The launch.js should be loading firmware from the binaries folder:

    >>>

    print("Loading DMSC Firmware...");
    // Load the DMSC firmware
    if (dev_id == 0x0BB5A02F) {
    dsDMSC_0.memory.loadRaw(0, 0x40000, thisJsFileDirectory +"/../../../soc/sysfw/binaries/ti-sci-firmware-am65x-gp.bin", 32, false);
    } else if (dev_id == 0x1BB5A02F) {
    dsDMSC_0.memory.loadRaw(0, 0x40000, thisJsFileDirectory +"/../../../soc/sysfw/binaries/ti-sci-firmware-am65x_sr2-gp.bin", 32, false);

    <<<

    Once you connect to the A53 core to load/run the program, you should see that the M3 is "Disconnected: Running" which is how you want it. 

    Best regards,

    Dave