NMI INT TO C28 CPU
C28SYSCLK
Generate
Interrupt
Pulse
When
Input = 1
CNMIFLG[NMIINT]
OR
CNMIFLG[RAM UNC ERR]
Latch
clear
set
C28 SYSRS
CNMIFLG[CLOCKFAIL]
CNMIFLG[FLUNCERR]
CNMI
Watchdog
CNMIWDPRD[15:0]
CNMIWDCNT[15:0]
Refer "Resets" Section
C28
NMIRS
CNMIFLG[ACIBERR]
ACIBERRE
EXTGPIO
CNMIFLGCLR[RAM UNC ERR]
CNMIFLGFRC[RAMUNCERR]
Latch
clear
set
RAM UNC ERR
Latch
clear
set
Latch
clear
set
Latch
clear
set
CLOCKFAIL
FLASH UNC ERROR
ACIBERR
CNMI
FLUNCERR
FLGFRC[
]
CNMIFLGFRC[
]
ACIBERR
CNMI
CLOCKFAIL
FLGFRC[
]
CNMI
CLOCKFAIL
FLGCLR[
]
CNMI
FLUNCERR
FLGCLR[
]
CNMIFLGCLR[
]
ACIBERR
Latch
clear
set
CNMIFLGCLR[
]
NMIINT
clear
Exceptions and Interrupts Control
117
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
System Control and Interrupts
Figure 1-9. Control Subsystem NMI Sources and CNMIWD
As shown in
, any of the listed errors can trigger an NMI to the C28x CPU There is also an NMI
Flag Force (CNMIFLGFRC) register to simulate an NMI error condition to aid in debug and development.
When an NMI error event occurs:
•
Respective bit in the CNMIFLG register is set
•
NMIINT bit in the CNMIFLG register is set
•
CNMIWD timer is triggered and starts counting
The user has to handle the error condition that triggered the NMI by checking the individual flag bits in the
CNMIFLG register, clearing the set bits in the CNMIFLG register, and clearing the NMIINT bit in the
CNMIFLG register. Clearing the NMIINT bit in the CNMIFLG register will stop and reset the CNMIWD
counter back to zero. If the NMIINT bit is not cleared by the time the CNMIWD counter reaches the value
programmed in the CNMIWDPRD register, the control subsystem is reset and an NMI is triggered to the
master subsystem NMI block.
1.5.6.1
Control Subsystem NMI Sources
This section explains the error events that can generate an NMI to the control subsystem CPU.