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.

How to trig interrupt of ESM

Other Parts Discussed in Thread: TMS570LS1227

Dear all,

I am testing to configure the interrupt of ESM, but I don't know how to trig the interrupt.

Is there a software force way to trig interrupt?

I have known we can force an error by software, but it can't trig the interrupt of ESM. 

Please help to solve my question.

Best Regards,

Fan

  • Hello Fan,

    If you have the ESM interrupts enabled, the interrupt will be triggered when you force an error via software. The ESM and error detection mechanisms are the same regardless if the error is forced or if it occurs naturally.

    Note: It may be that interrupts are suppressed when debugging with your IDE so I would suggest trying to toggle an IO pin or send a message to a console when the interrupt is triggered outside of the debug environment. I also think there is a way to configure CCS to allow interrupts during debug.
  • Hello Chuck,

    I try it again, but when I force an error, I still can't trig interrupt.

    I listed my step as follow:

    1. Enable all the interrupt on ESM module.

    2. Enable interrupt channel No. 20 on VIM module.

    3. Enable CPU interrupt and force an error

    However, I can't achieve to trig interrupt.

    Please help to solve it, also I attach my project as follow.1884.20150302ESMinterrupt.rar

  • Pardon, I have more one question,
    When I force an error, which channel will be indicated.
    As my known, ESM divide to 3 groups and 128 channels.(TMS570LS1227)
  • Hello Fan,

    The esmEnterSelfTest() function will simply return the esm self test status as it come by default. In order to have it trigger a fault, you would need to force an error of some kind within the user code section of the function. This could be your own custom routine, or you could call one of the self test functions that force an error within sys_selftest.c. One such function is the checkFlashECC() function which reads from the mirrored memory map. ECC logic must be enabled before running this function for it to perform the detection.