■ An internally detected error such as an undefined instruction or an attempt to change state with
a BX instruction.
■ Attempting to execute an instruction from a memory region marked as Non-Executable (XN).
■ An MPU fault because of a privilege violation or an attempt to access an unmanaged region.
2.6.1 Fault Types
Table 2-11 on page 90 shows the types of fault, the handler used for the fault, the corresponding
fault status register, and the register bit that indicates the fault has occurred. See page 145 for more
information about the fault status registers.
Table 2-11. Faults
Bit NameFault Status RegisterHandlerFault
VECTHard Fault Status (HFAULTSTAT)Hard faultBus error on a vector read
FORCEDHard Fault Status (HFAULTSTAT)Hard faultFault escalated to a hard fault
IERR
a
Memory Management Fault Status
(MFAULTSTAT)
Memory management
fault
MPU or default memory mismatch on
instruction access
DERRMemory Management Fault Status
(MFAULTSTAT)
Memory management
fault
MPU or default memory mismatch on
data access
MSTKEMemory Management Fault Status
(MFAULTSTAT)
Memory management
fault
MPU or default memory mismatch on
exception stacking
MUSTKEMemory Management Fault Status
(MFAULTSTAT)
Memory management
fault
MPU or default memory mismatch on
exception unstacking
BSTKEBus Fault Status (BFAULTSTAT)Bus faultBus error during exception stacking
BUSTKEBus Fault Status (BFAULTSTAT)Bus faultBus error during exception unstacking
IBUSBus Fault Status (BFAULTSTAT)Bus faultBus error during instruction prefetch
PRECISEBus Fault Status (BFAULTSTAT)Bus faultPrecise data bus error
IMPREBus Fault Status (BFAULTSTAT)Bus faultImprecise data bus error
NOCPUsage Fault Status (UFAULTSTAT)Usage faultAttempt to access a coprocessor
UNDEFUsage Fault Status (UFAULTSTAT)Usage faultUndefined instruction
INVSTATUsage Fault Status (UFAULTSTAT)Usage faultAttempt to enter an invalid instruction
set state
b
INVPCUsage Fault Status (UFAULTSTAT)Usage faultInvalid EXC_RETURN value
UNALIGNUsage Fault Status (UFAULTSTAT)Usage faultIllegal unaligned load or store
DIV0Usage Fault Status (UFAULTSTAT)Usage faultDivide by 0
a. Occurs on an access to an XN region even if the MPU is disabled.
b. Attempting to use an instruction set other than the Thumb instruction set, or returning to a non load-store-multiple instruction
with ICI continuation.
2.6.2 Fault Escalation and Hard Faults
All fault exceptions except for hard fault have configurable exception priority (see SYSPRI1 on
page 138). Software can disable execution of the handlers for these faults (see SYSHNDCTRL on
page 141).
Usually, the exception priority, together with the values of the exception mask registers, determines
whether the processor enters the fault handler, and whether a fault handler can preempt another
fault handler as described in “Exception Model” on page 81.
July 24, 201290
Texas Instruments-Production Data
The Cortex-M3 Processor
OBSOLETE: TI has discontinued production of this device.