![Texas Instruments SimpleLink Ethernet MSP432E401Y Technical Reference Manual Download Page 113](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_1095578113.webp)
Fault Handling
113
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Cortex
®
-M4F Processor
1.7
Fault Handling
Faults are a subset of the exceptions (see
). The following conditions generate a fault:
•
A bus error on an instruction fetch or vector table load or a data access
•
An internally detected error such as an undefined instruction or an attempt to change state with a BX
instruction
•
Trying 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
1.7.1 Fault Types
lists 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
for more information about the
fault status registers.
(1)
Occurs on an access to an XN region even if the MPU is disabled.
(2)
Trying to use an instruction set other than the Thumb instruction set, or returning to a nonload-store-multiply instruction with ICI
continuation.
Table 1-21. Faults
Fault
Handler
Fault Status Register
Bit Name
Bus error on a vector read
Hard fault
Hard Fault Status (HFAULTSTAT)
VECT
Fault escalated to a hard fault
Hard fault
Hard Fault Status (HFAULTSTAT)
FORCED
MPU or default memory mismatch on
instruction access
Memory
management fault
Memory Management Fault Status
(MFAULTSTAT)
IERR
(1)
MPU or default memory mismatch on
data access
Memory
management fault
Memory Management Fault Status
(MFAULTSTAT)
DERR
MPU or default memory mismatch on
exception stacking
Memory
management fault
Memory Management Fault Status
(MFAULTSTAT)
MSTKE
MPU or default memory mismatch on
exception unstacking
Memory
management fault
Memory Management Fault Status
(MFAULTSTAT)
MUSTKE
MPU or default memory mismatch during
lazy floating-point state preservation
Memory
management fault
Memory Management Fault Status
(MFAULTSTAT)
MLSPERR
Bus error during exception stacking
Bus fault
Bus Fault Status (BFAULTSTAT)
BSTKE
Bus error during exception unstacking
Bus fault
Bus Fault Status (BFAULTSTAT)
BUSTKE
Bus error during instruction prefetch
Bus fault
Bus Fault Status (BFAULTSTAT)
IBUS
Bus error during lazy floating-point state
preservation
Bus fault
Bus Fault Status (BFAULTSTAT)
BLSPE
Precise data bus error
Bus fault
Bus Fault Status (BFAULTSTAT)
PRECISE
Imprecise data bus error
Bus fault
Bus Fault Status (BFAULTSTAT)
IMPRE
Attempt to access a coprocessor
Usage fault
Usage Fault Status (UFAULTSTAT)
NOCP
Undefined instruction
Usage fault
Usage Fault Status (UFAULTSTAT)
UNDEF
Attempt to enter an invalid instruction set
state
(2)
Usage fault
Usage Fault Status (UFAULTSTAT)
INVSTAT
Invalid EXC_RETURN value
Usage fault
Usage Fault Status (UFAULTSTAT)
INVPC
Illegal unaligned load or store
Usage fault
Usage Fault Status (UFAULTSTAT)
UNALIGN
Divide by 0
Usage fault
Usage Fault Status (UFAULTSTAT)
DIV0
1.7.2 Fault Escalation and Hard Faults
All fault exceptions except for hard fault have configurable exception priority (see SYSPRI1 in
). Software can disable execution of the handlers for these faults (see SYSHNDCTRL in
).
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
.