Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
37
MemManage:
A MemManage fault is an exception that occurs because of a memory protection related
fault. The MPU or the fixed memory protection constraints determines this fault, for both instruction and
data memory transactions. This fault is always used to abort instruction accesses to Execute Never (XN)
memory regions.
BusFault:
A BusFault is an exception that occurs because of a memory related fault for an instruction or
data memory transaction. This might be from an error detected on a bus in the memory system.
UsageFault:
A UsageFault is an exception that occurs because of a fault related to instruction execution.
This includes:
•
an undefined instruction
•
an illegal unaligned access
•
invalid state on instruction execution
•
an error on exception return.
The following can cause a UsageFault when the core is configured to report them:
•
an unaligned address on word and halfword memory access
•
division by zero.
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.
Interrupt (IRQ):
A interrupt, or IRQ, is an exception signaled by a peripheral, or generated by a software
request. All interrupts are asynchronous to instruction execution. In the system, peripherals use
interrupts to communicate with the processor.