Faults are a subset of exceptions, see Exception model. All faults result in the HardFault exception being taken or cause Lockup if they occur in the NMI or HardFault handler. The faults are:
Execution of an
SVCinstruction at a priority equal or higher than SVCall.
Execution of a
BKPTinstruction without a debugger attached.
A system-generated bus error on a load or store.
Execution of an instruction from an XN memory address.
Execution of an instruction from a location for which the system generates a bus fault.
A system-generated bus error on a vector fetch.
Execution of an Undefined instruction.
Execution of an instruction when not in Thumb state as a result of the T-bit being previously cleared to 0.
An attempted load or store to an unaligned address.
If the device implements the MPU, an MPU fault because of a privilege violation or an attempt to access an unmanaged region.
Only Reset and NMI can preempt the fixed priority HardFault handler. A HardFault can preempt any exception other than Reset, NMI, or another HardFault.