SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Refer to Section 41.7 for a detailed overview of the NVIC.
As part of the CM subsystem, the Cortex®-M4 NVIC handles exceptions that can occur on the CM subsystem. The Cortex®-M4 NVIC module supports a non-maskable interrupt, which has higher priority than all other NVIC-supported interrupts or exceptions. The CM subsystem's non-maskable interrupt module (CMNMI) is responsible for generating this non-maskable interrupt to the Cortex®-M4 CPU core in the CM subsystem. Refer to Section 41.6.3 for more details on NMI handling.
The NVIC supports a HARDFAULT exception interrupt which has higher priority than any programmable interrupts but less priority than an NMI. Other programmable exceptions supported by the NVIC are memory management faults, bus faults, and usage fault programmable exceptions. These programmable exceptions are disabled by default and the system errors which can cause these exception events end up triggering a HARDFAULT exception. Section 41.6.2 provides details on the events that cause these exceptions.
On power-up and any reset that resets the CM CPU, the NVIC is mapped to the address of 0x0000 0000 in ROM. The M-Boot ROM installs predefined interrupt handlers in the default NVIC table as needed for the boot ROM execution and C28. Once the user application is started by boot ROM, the interrupt handlers should have their own NVIC vector table and map the NVIC base address to user locations. If users fail to remap the NVIC to their application needs, any interrupt that occurs while the application is executing ends up calling interrupt and exception handlers installed by boot ROM. Refer to the Boot ROM chapter for more details on boot ROM handlers in the NVIC.