The exception handlers are the
following:
- Interrupt Service Routine
(ISRs): Interrupts IRQ0-IRQ46 are the exceptions that are handled by
ISRs. Each interrupt is configured by Secure software in Secure or
Non-secure state, using CPU_NVIC:ITNS0 and CPU_NVIC:ITNS1.
- Fault Handler: The
fault handler handles the following exceptions:
- HardFault
- MemManage
- BusFault
- UsageFault
- SecureFault
There can be separate MemManage and UsageFault handlers in Secure and
Non-secure state. The SCB:AIRCR.BFHFNMINS bit controls the target state for
HardFault and BusFault. SecureFault always targets Secure state.
- System Handlers: The
system handlers handle the following system exceptions:
- NMI
- PendSV
- SVCall
- SysTick
Most system handlers can be banked with separate handlers between
Secure and Non-secure state. The SCB:AIRCR.BFHFNMINS bit controls the target
state for NMI.