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: ESM 2.7 does not set nERROR

Part Number: TMS570LC4357


Hi experts,

I am seeing some strange behaviour, when running the RAM12 Test with a debugger connected.

The following code always sets ESM 2.7 but sometimes without setting nERROR.

    sl_l2ramwREG->RAMERRSTATUS = (uint32_t) 0x781C10U;

    sl_l2ramwREG->DIAGDATAVECTOR_H = (uint64_t) 0x0U;
    sl_l2ramwREG->DIAGDATAVECTOR_L = (uint64_t) 0x1U;

     sl_l2ramwREG->DIAG_ECC = (uint32_t)0xCu;  

    /* Equality check in compare */
    sl_l2ramwREG->RAMTEST = (uint32_t) 0x0000008Au; /* 1->Trigger, 8->Eq., test mode, A->Test enable */
    sl_l2ramwREG->RAMTEST = (uint32_t) 0x00000100u;

(Q1) Is this the debugger messing with the ESM functionality or is this beahaviour that can be expected during normal operation?

Thank you and best regards,
Max

  • I run the same test for 10730936 times, the nERROR is asserted every time. 

    i: number of test

    j: number of test that the nERROR is asserted

    k: number of test that the nERROR is not asserted 

    Is nERROR cleared some where in your code?

  • Hi QJ,

    I checked again with a method similiar to yours and it worked fine. The problem seemed to be how I Reset nERROR according to errata DEVICE#60. I wrote 0x5h to ESMEKR instead of 0. This lead to nERROR resetting directly after LTC fas finnished.

    Thank you for your help