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: Flash uncorrectable error flag

Part Number: TMS320F280049


Hello support,
what is the difference between ERR_INTFLG.UNC_ERR_INTFLG and NMIFLG.FLUNCERR ?
From TRM I see that
"When an uncorrectable error occurs, the UNC_ERR_INTFLG bit is set and an uncorrectable error interrupt is
fired. This uncorrectable error interrupt generates an NMI, if enabled."
I did not find an Int Vector linked to "Uncorrectable error interrupt", therefore it seems rather being an internal signal, right ?
Question is: when a NMI is triggered, checking the NMIFLG.FLUNCERR is the same as checking ERR_INTFLG.UNC_ERR_INTFLG ?
Are these flags providing same info or there is some difference, maybe in flag setting conditions or other ?

  • Hi,

     

    Our expert will get back ASAP.

     

    Thanks,

    Saravanan

  • Hello Davide,

    These two flags represent the same error, but at different points on the error signal chain. The ERR_INTFLG.UNC_ERR_INTFLG is always set when an uncorrectable ECC error occurs while reading Flash memory. This error event triggers a non-maskable interrupt (NMI), and when this happens, NMIFLG.FLUNCERR will be set. The NMI flag register must be cleared by the NMI handler by writing to the corresponding bit in NMIFLGCLR to prevent a watchdog reset.

    Additionally, ERR_INTFLG.UNC_ERR_INTFLG must be cleared by the application software after handling the error (by writing to the corresponding bit in ERR_INTCLR); otherwise, any subsequent uncorrectable read errors will not trigger a new interrupt.

    Best regards,
    Ibukun