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.

TMS320F280049: TMS320F280049C intermittent hang: code stops executing, outputs freeze, watchdog also stops

Part Number: TMS320F280049

Hi Team,

We are facing an intermittent hang / lockup issue on TMS320F280049C.

Issue Summary

After running normally for some time, the MCU enters a state where:

  • Firmware stops progressing (main loop appears stuck)

  • GPIO outputs freeze in the previous state

  • Periodic activities stop (example: LED toggle from timer/ISR stops or becomes irregular)

  • Watchdog does not reset the device (it also appears stopped / not triggering)

This looks like the device enters some kind of CPU halt / debug suspend / low power mode, or the CPU gets stuck in an exception where the watchdog is not running.

What we checked

  • No deliberate low power mode API used in application

  • No intentional ESTOP0, __asm(" ESTOP0"), etc. in production build

  • Interrupts may still be enabled, but ISR execution seems stopped (needs confirmation)

Questions

  1. What are the known scenarios on F280049C where CPU can stop/hang and watchdog won’t reset?

  2. If the CPU is stuck (illegal ISR, ITRAP, NMI, stack overflow, etc.), how to capture the reason after reboot?

    • Any recommended way to log last reset reason / fault reason?

  3. Are there recommended registers we should read/log for post-mortem?

    • (Example: NMI status, Illegal ISR, PIE vector, watchdog status, reset cause registers, etc.)

  4. Any TI recommended strategy to force recovery:

    • External watchdog?

    • NMI watchdog?

    • Periodic forced reset?

Reproducibility

Not deterministic; occurs intermittently after runtime.

Any guidance or best practice debug steps for hang conditions on F28004x devices would be appreciated.

Thanks

  • Hi,

    What are the known scenarios on F280049C where CPU can stop/hang and watchdog won’t reset?

    There are no known scenarios that can cause stop/hang condition.

    Can you check if the voltages for Vdd, vddio are stable across the range and there is no drop in the voltages.

    Also probe XRSn on the device make sure its not going low while running

    Are there recommended registers we should read/log for post-mortem?

    • (Example: NMI status, Illegal ISR, PIE vector, watchdog status, reset cause registers, etc.)

    Yes you can refer to NMI shadow registers which should retain error info if NMIWD XRSn was triggered.

    Make sure you have NMI and ITRAP ISR setup and have some kind of marker like GPIO toggle when entering the ISR to capture that if it occurs.

    Thanks

  • I’m currently resetting the MCU inside the NMI/Illegal ISR, and it’s working fine in our testing. We verified this over CAN: the CAN logs show the device jumps to the bootloader and then returns back to the application as expected.

    At this point the problem looks resolved. We’ll continue investigating to identify which specific ISR is triggering the issue, and if we encounter it again we’ll reopen this thread with the details.