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.

TMS570LC4357 - Debugger does not stop RTI counters

Other Parts Discussed in Thread: TMS570LS1225, TMS570LC4357

We are porting code from a TMS570LS1225 to the TMS570LC4357. I am connecting the debugger (CCS 6.1.0.00104) via an XDS200 emulator.

When the debugger is paused (or hits a breakpoint) the rti clocks keep running. I have checked the rtiREG1-GCTRL register and the  continue-on-suspend bit (bit 15) is not set. The register is set to 3 (both counters enabled)

Is there something else I need to do for the LC4357 ? I can't find any significant difference between the new LC43x code and the old LS12x code

  • HI Andy,
    The LC4357 is slightly different compared to other Hercules devices in terms of debug mode. During debug mode, the CPU core sends out a DBGACK signal. In other devices, the signal is directly routed to the modules that need to qualify the debug state with their current operations. For example, the RTI will use the DBGACK to stop its counter. However, in LC4357 the DBGACK is first routed to a CTI (Cross Trigger Interface) module where it is first gated before sending to the rest of the system. You will need to enable the CTI module. I currently don't have my PC with me. I will send you a GEL script that upon connection to the target the GEL will automatically configure the CTI and you will be able to halt the RTI counter when the CPU is in debug state. I will send tomorrow.
  • Hi Andy,
    Please find below where I answered the question. The GEL is attached in the post. Let me know if you see any problem.

    e2e.ti.com/.../1882441
  • Charles,

    Thanks for the quick response. Unfortunately I do not know how to install the GEL script. Please can you let me have some instructions. We need to install it for all users on a single project since we have multiple users with multiple projects with multiple targets. It therefore needs to get installed in such a way that everybody gets the fix but only for a single project.

    Is there no way to configure this within the HL_*.[ch] files so that it gets built in and also gets stored in our configuration management system ? I am concerned it could get lost if we have to revisit the project a few years after we complete it and the person doing the work has to install CCS from scratch.

    Regards

    Andy

  • Hi Andy,

     Please go to your CCS installation folder such as c:\ti\ccs61\ccsv6\ccs_base\emulation\gel and you should find tms570xc_rm57x_cross_trigger. It is very easy to launch the GEL script. Once you are in CCS debug, you just go to to Tools and select 'GEL files'. Once you are in the GEL Files pane you wil right-click to 'Load GEL...' and specify tms570xc_rm57x_cross_trigger located in your CCS installation folder. See below image.

    Once the GEL is loaded you just go to Scripts->Configure Cross Triggering and select Setup_All_CTI and you should be good to go.