2.5.4 Fault Handling

Faults are a subset of the exceptions, see 2.5.3 Exception Model. The following generates a fault:

  • a bus error on:
    • an instruction fetch or vector table load
    • a data access
  • an internally-detected error such as an undefined instruction
  • attempting to execute an instruction from a memory region marked as Non-Executable (XN).
  • attempting to execute an instruction while the EPSR T-bit is clear. For example, as the result of an erroneous BX instruction, or a vector fetch from a vector table entry with bit[0] clear.
  • an MPU fault because of a privilege violation or an attempt to access an unmanaged region.