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: Diagnostics give different result when debugging

Part Number: TMS570LC4357

Hello Experts,

I am using CCS and a XDS200 to debug my implementations of some of the diagnostics mentioned in the Safety Manual. When running the process with the debugger connected I get different result to when the debugger is not connected.

For example running the CCMR5F Lockstep Error Forcing Mode the correct bits in the ESM are set, but the nERROR is not to LOW.  The Reference Manual mentions problems with the Lockstep when using halting debug mode, but not with nERROR.

Another Case is the DIAG MODE = 5 Diagnostic. When stepping through the code the trigger for the diagnostic is not applied, which leads to nothing happening. Running the code without the XDS200 connected sets ESM 3.13 and the nERROR is pulled LOW.

(Q1) Why am seeing different results with the XDS200 connected? Is the use of a debugger, when testing diagnostics not recommended?

Thank you and best regards,
Max

  • Hi Max,

    1. The JTAG debugger should be disconnected before performing CCM self test.

    13.2.5 Operation During CPU Debug Mode (from TRM, page 507)
    Certain debug operations place the CPU in a halting debug state where the code execution is halted.
    Because halting debug events are asynchronous, there is a possibility for the debug requests to cause
    loss of lockstep. CCM-R5F will disable all functional diagnostics upon detection of halting debug requests.
    Core compare error will not be generated and flags will not update. A CPU reset is needed to ensure the
    CPUs are again in lockstep and will also re-enable the CCM-R5F.

    The ESM 1.92 and ESM 2.2 should be set for CCM error forcing test. The ESM Group2 channels are ERROR high severity. ESM 2.2 error should generate an output on the ERROR pin. Is the ESM ERROR Pin Status Register cleared after test? Does your code write 0x0A or 0x05 to EKY register? 

    2. For DIAG MODE = 5 Diagnostic: Please refer to the 7.7.1 in TRM

    7.7.1 System Emulation (from TRM)
    During emulation when the SUSPEND signal is high, address tag and command parity error events are
    not generated.

  • Hello QJ,

    You are right the Tests perform as expected after I disconnect the debugger.