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.

No ESM Interrupt is generated when using the Core Compare Module Error Forcing Mode

Hi,

I am using the TMS570 Microcontroller Development Stick, with a TMS570LS20216 MCU (ASPGEQQ1).

I am using the Demo_Software_Ver1_1.

I am trying to run the CCM_R4_Compare test, by typing in *DO0514! from the terminal.

This goes into esm_test and then into CCM_R4_Compare, but the interrupt (esmHighLevelInterrupt) does not seem to go off. The code therefore gets stuck at the line    

/* Waiting for interrupt ESM Interrupt flag */
    while(!ESM_High_Int_Flag);

Any ideas what might be wrong?

I have enabled IRQ and FIQ interrupts and I have enabled the interrupt in the VIM.

Regards,
Dave

  • Dave,

    I realize that it has been really long since you posted and apologize that there has been no response to this thread.

    Is this still a problem you are facing?

    Regards,

    Abhishek

  • Abhishek,

    Although I am working on something else at the moment, I have not found a solution to this problem yet.

    Regards,

    Dave

  • Hi Abhishek,

    I am also facing same issue. Any update please? I don’t see that CCM Compare error occurred.

    When I was going through the device data sheet, I found the below information. How to ensure that CPU registers are initialized correctly in the application software ?

    To avoid an erroneous CCM-R4 compare error, the application software must ensure that the CPU registers of both CPUs are initialized with the same values before the 1st function call or other operation that pushes the CPU registers onto the stack. All CCM-R4 error forcing test modes are limited to 100MHz HCLK speed.

  • Bindu,

    Do you have the debugger connected when you are attempting to cause a CCM error?

    Regards,

    Abhishek

  • Yes. the debugger is connected. I will try with without debugger.

  • Bindu,

    Disconnecting the debugger is important.

    See spnu489c.pdf:

    23.3.5 Operation During CPU Debug Mode
    Certain JTAG operations place the CPU in a debug mode where the code execution is halted. Once this mode
    is entered, compare errors are not generated, irrespective of the compare mode the CCM-R4F is in. The
    status flags are also not updated. Normal operation is resumed only after a CPU reset is asserted.

    Regards,

    Abhishek

  • Without debugger, the fault is detected and ERROR pin set High. Working as expected.Thanks for the information.

    But I can see that CCM-R4- Self test fault also occured along with the CCM-R4-Compate fault.

    Is that expected when i simulate the fault for CCM-R4-Compate fault ?

  • Hi Bindu,

    Yes it is expected, Error Forcing mode is a type of Self Test, hence both flags are set, this has to be captured in the TRM.
    I have already raised this as a concern to TRM owner and get it fixed in the next version of the TRM documentation.  

    Best Regards
    Prathap

  • Hello Prathap,

    I see MKEY=9 -- ERROR FORCE MODE

              MKEY=F  -- SELF-TEST ERROR FORCE MODE

    Does both of these modes at the end supposed to CMPE and STE bits of CCMSR Register?

    Please confirm.

    Thank you.

    Regards

    Pashan

     

  • Dave,

    Did you have the debugger connected when you ran your tests?

    Regards,

    Abhishek

  • Hello Abhishek / Prathap,

    My question is about the STATEMENT given by Prathap in his e-mail:

    "Yes it is expected, Error Forcing mode is a type of Self Test, hence both flags are set, this has to be captured in the TRM.
    I have already raised this as a concern to TRM owner and get it fixed in the next version of the TRM documentation."

    Question is there are two nearly same NAME for different MODES of CCM-R4.  In the above mentioned statement, which mode Prathap is referring?

    Is it for both the modes as mentioned below or for one of the modes?

    If for one of the mode, then which one?

    I see MKEY=9 -- ERROR FORCE MODE

              MKEY=F  -- SELF-TEST ERROR FORCE MODE

    Does both of these modes at the end supposed to CMPE and STE bits of CCMSR Register?

    Thank you.

    Regards

    Pashan

  • Hello Pashan,

    The CCM-R4F module has four unique modes, each with its own purpose:

    1. Self-test error forcing mode: this mode ensures that any error during the self-test of the CCM-R4 compare logic itself is actually flagged as a self-test error in the CCM-R4 status register. This also sets the CCM-R4 self-test error flag in the ESM (group 1 channel 31). The application must look for these error flags to become set and then clear them. The compare error flag is not set in this mode.
    2. Self-test mode: this mode runs the actual self-test on the CCM-R4 logic. This self-test is expected to pass. Any error is indicated on the STE flag inside CCM-R4 as well as on ESM group1 channel 31. This is a real error which indicates that the CCM-R4 logic cannot be verified to be correct.
    3. Error-forcing mode: this mode actually forces a compare error from the CCM-R4 module. This causes the compare error as well as the self-test error flags to be set inside the CCM module. Also the corresponding ESM flags are set. This mode checks that the CCM-R4 compare error output is not stuck-low, and that the connection between the CCM-R4 module and the ESM group2 channel 2 is okay. Once the application detects that the appropriate flags are indeed set, these flags can be cleared and the CCM-R4F module can be restored to be in lock-step compare mode.
    4. Lock-step mode: this is the default mode.
    Regards,
    Sunil