SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
The CM subsystem has the capability of detecting all serious errors that can occur in the entire system including all the subsystems, and inform the main CPU core about the error. An NMI exception to the M4 CPU on the CM subsystem is generated only when at least one or more of the below NMI error sources become active. More details on each of the sources is given in Section 41.6.3.1 and the descriptions in the CMNMIFLG register.
All these NMI sources are ORed to generate the NMI input to the M4 NVIC. The NMI triggers a CMNMIWD counter running at the CM subsystem frequency. The CMNMIWD counter stops counting only if all the pending NMIs are acknowledged by clearing the pending flags in the CMNMIFLG register. If the pending NMI is not acknowledged before the CMNMIWD counter reaches the value programmed in the NMI Watchdog period register (CMNMIWDPRD), an NMIWD reset is generated to the CM subsystem, which resets the entire device.
Figure 41-2 shows different sources that can trigger an NMI to the Cortex®-M4 on the CM subsystem and the registers associated with them.
All the NMI sources shown in Figure 41-2 are enabled by default on reset. CMNMICFG.NMIE is disabled on reset and needs to be enabled by setting the bit to 1.
Whenever an NMI signal is generated, the respective bit in the CMNMIFLG register is set. To aid in debug, development, and testing, a CMNMIFLGFRC register is provided. Setting these bits in this register forces the NMI to the CPU core as shown in Figure 41-2. Refer to the CMNMIFLGFRC register for more details. When an NMI is triggered to the CM CPU, a CMNMIWD counter is triggered and begins counting and resets the device when the CMNMIWD counter reaches the programmed CMNMIWD period value. The CMNMIWD counter stops counting and resets back to zero once all the set CMNMIFLG bits and the CMNMIINT flag bit in the CMNMIFLG register are cleared.