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.

Hercules RM48L952ZWT Triggering/Clearing ESM errors

Other Parts Discussed in Thread: HALCOGEN

Hi. We are using TI's Hercules RM48L952ZWT board.  We wanted to test/verify the ESM errors. Is this correct

1. In HalCoGen, we enabled under VIM, Interrupt 20 (ESM Low), and that is what triggers then the channels under HalCoGen ESM tab. is this correct?

2. When the interrupt gets triggered we call the HalCoGen autogenerated function esmLowInterrupt()

3. Is it possible to clear an ESM interrupt without having to reboot the board(i.e.,by  calling esmDisableError andESM ClearErrPin)? Or if we trigger an esm error via a test (or in real life), does the board have to be rebooted to put the CPU in a stable state? 

The reason is, the board seems to hang after triggering a test ESM error, and even clearing the esm error pin or doing an esmDisableError(channel) on the ESM channel triggered does not help. Only rebooting the board seems to work. Is there another way to cleanly clear a triggered ESM error channel?

Thank you.

  • Hi Tammy,

    I am forwarding your questions to one of our Halcogen and ESM experts. They should get back to you soon.

  • Hi Thank you, We will wait to hear from you.

  • Hi Tammy,

    Please find below my answers:

    1. In HalCoGen, we enabled under VIM, Interrupt 20 (ESM Low), and that is what triggers then the channels under HalCoGen ESM tab. is this correct?

    Correct. Just to add, it triggers the channels which are configured for ESM Low interrupt. There is a separate VIM channel for ESM High interrupts

    2. When the interrupt gets triggered we call the HalCoGen autogenerated function esmLowInterrupt()

    Correct.

    3. Is it possible to clear an ESM interrupt without having to reboot the board(i.e.,by  calling esmDisableError andESM ClearErrPin)? Or if we trigger an esm error via a test (or in real life), does the board have to be rebooted to put the CPU in a stable state?

    The HALCoGen generated esmLowInterrupt functions clears the corresponding interrupt flag and branches to a notification function esmGroupxNotification which needs to be defined by the user.

    If you have configured the channel to have error pin action (it is optional for Group1 channels), use the function esmTriggerErrorPinReset to reset it. esmDisableError will just disable this feature.

    What do you mean by the board seems to hang? Is it stuck in some infinite loop?

    Whenever you get an ESM error (either during a test or in real life), the corresponding flag gets set. And in case the interrupt is enabled, it branches to the Interrupt Service Routine (esmLowInterrupt in this case). Also, if the error pin action is enabled, the nERR pin gets set. And this can be cleared using the above said HALCoGen function. I dont see any reason why a reboot was needed in your case. Please help me understand.

    Thanks and Regards,

    Veena