SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
The Arm® Cortex®-M33 processor and the nested vectored interrupt controller (NVIC) prioritize and handle all exceptions in handler mode. The state of the processor is automatically stored to the stack on an exception and automatically restored from the stack at the end of the interrupt service routine (ISR). The vector is fetched in parallel to state saving, thus enabling efficient interrupt entry. The processor supports tail-chaining, which enables performance of back-to-back interrupts without the overhead of state saving and restoration.
Table 5-1 lists all exception types. Software can set eight priority levels on all the exceptions except reset and hard fault.
Internally, the highest user-programmable priority (0) is treated as third priority, after a reset, and a hard fault, in that order.
The default priority is 0 for all the programmable priorities.
After a write to clear an interrupt source, it may take several processor cycles for the NVIC to detect the interrupt source de-assertion due to the write buffer. Thus, if the interrupt clear is done as the last action in an interrupt handler, it is possible for the interrupt handler to complete while the NVIC detects the interrupt as still asserted, causing the interrupt handler to be re-entered errantly. This situation can be avoided by either clearing the interrupt source at the beginning of the interrupt handler or by performing a read from the same address after the write to clear the interrupt source (and flush the write buffer).
For more information on exceptions and interrupts, see the Arm® Cortex®-M33 Device Generic User Guide.