The STM32 Cortex-M0 processor
2.3
Exception model
This section describes the exception model.
2.3.1
Exception states
Each exception is in one of the following states:
Inactive
Pending
Active
Active and pending
2.3.2
Exception types
The exception types are:
Reset
NMI
Hard fault
SVCall
PendSV
SysTick
22/91
The exception is not active and not 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.
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.
The exception is being serviced by the processor and there is a
pending exception from the same source.
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.
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.
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.
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 is an interrupt-driven request for system-level service. In an
OS environment, use PendSV for context switching when no other
exception is active.
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.
Doc ID 022979 Rev 1
PM0215
Need help?
Do you have a question about the STM32F0 Series and is the answer not in the manual?
Questions and answers