The STM32 Cortex-M0 processor PM0215
22/91 Doc ID 022979 Rev 1
2.3 Exception model
This section describes the exception model.
2.3.1 Exception states
Each exception is in one of the following states:
2.3.2 Exception types
The exception types are:
Inactive The exception is not active and not pending.
Pending The exception is waiting to be serviced by the processor. An interrupt
request from a peripheral or from software can change the state of the
corresponding interrupt to pending.
Active An exception that is being serviced by the processor but has not
completed.
Note: An exception handler can interrupt the execution of another exception
handler. In this case both exceptions are in the active state.
Active and pending The exception is being serviced by the processor and there is a
pending exception from the same source.
Reset Reset is invoked on power up or warm reset. The exception model
treats reset as a special form of exception. When reset is asserted, the
operation of the processor stops, potentially at any point in an
instruction. When reset is deasserted, execution restarts in Thread
mode from the address provided by the reset entry in the vector table.
NMI A NonMaskable Interrupt (NMI) can be signalled by a peripheral or
triggered by software. This is the highest priority exception other than
reset. It is permanently enabled and has a fixed priority of -2. NMIs
cannot be:
● Masked or prevented from activation by any other exception
● Preempted by any exception other than Reset.
Hard fault A hard fault is an exception that occurs because of an error during
normal exception processing. Hard faults have a fixed priority of -1,
meaning they have higher priority than any exception with configurable
priority.
SVCall A supervisor call (SVC) is an exception that is triggered by the SVC
instruction. In an OS environment, applications can use SVC
instructions to access OS kernel functions and device drivers.
PendSV PendSV is an interrupt-driven request for system-level service. In an
OS environment, use PendSV for context switching when no other
exception is active.
SysTick A SysTick exception is an exception the system timer generates when
it reaches zero. Software can also generate a SysTick exception. In an
OS environment, the processor can use this exception as system tick.