TMS570LS0914: Entering undefined entry after execution of ISR function for N2HET1 pin 11

Part Number: TMS570LS0914


  1. N2HET1[11] has been configured as input to TMS570LS0914 for PLC_S_INTR pin of QCA7006 for capturing the interrupt using ICU. Configuration has been done through DaVinci Configurator and it's generated code snap is attached here.

image.png

2. We are using the channel 10 for the Icu_HetInt interrupt

image.png

3. After executing the ISR for the second time of interrupt, every steps of interrupt is getting exected and after that it is going to the undefEntry

image.png

 

Please guide us to proceed further

  • Hi,

    The SME is OOO until 2 Dec 2025. Please expect a delay in response

    Regards,

    Aswin

  • Hi Usha,

    Apologies for the delayed response:

    Try these below suggestions:

    1. Improper Interrupt Flag Clearing Sequence

    The most common cause of this issue is not properly clearing the interrupt flag before exiting the ISR. According to TI documentation:

    • Inside the interrupt service routine (ISR), you must clear the event flag using the EVT_CLR register and then acknowledge the CPU interrupt
    • If one event occurs multiple times before the corresponding bit is cleared by software, no new interrupt is generated

    For N2HET interrupts specifically:

    • You need to clear the HETFLG register by writing a '1' to the corresponding bit
    • The interrupt service routine must clear the flag before any other interrupt pulses are generated

    Verify Proper Interrupt Flag Clearing

    2. VIM (Vectored Interrupt Manager) Not Properly Acknowledged

    The TMS570 uses a Vectored Interrupt Manager (VIM) that requires proper handling:

    • The interrupt vector table (VIM RAM) stores the address of ISRs
    • During hardware vectored interrupt, VIM accesses the interrupt vector table to fetch the ISR address
    • VIM RAM has ECC protection to detect corruption due to soft errors
    • VIM ECC is properly enabled
    • The interrupt vector table is correctly initialized
    • The ISR function pointer is valid

    Potential VIM RAM ECC Error

    An ECC error in the VIM RAM could cause the system to jump to an undefined location:

    • VIM RAM single bit or double bit errors can trigger ESM (Error Signaling Module) faults
    • If VIM ECC checking is not properly enabled, soft errors could corrupt the interrupt vector table

    If this doesn't solve your issue, then please attach your complete project for debugging at my end once.

    --
    Thanks & regards,
    Jagadish.