# 4.4.10 Configurable fault status register (CFSR; UFSR+BFSR+MMFSR) **Address offset:** `0x28` **Reset value:** `0x0000 0000` **Required privilege:** Privileged The CFSR is byte-accessible and indicates the cause of a memory management fault, bus fault, or usage fault. ## CFSR subregisters | Subregister | Address | Access | |-------------|----------|--------| | MMFSR | Bits[7:0] | Byte access at `0xE000ED28` | | BFSR | Bits[15:8] | Byte access at `0xE000ED29` | | UFSR | Bits[31:16] | Halfword access at `0xE000ED2A` | | Full CFSR | Bits[31:0] | Word access at `0xE000ED28` | ## Bitfield definitions ### UFSR — Usage Fault Status Register (Bits[31:16]) | Bit | Field | Type | Description | |-----|-------|------|-------------| | 31 | DIVBY | rc_w1 | Divide by zero trap | | 30 | ZERO | rc_w1 | Unaligned memory access trap | | 29 | UNALI | rc_w1 | Unaligned access fault | | 28 | UNALIGNED | rc_w1 | Unaligned memory access fault | | 27 | Reserved | - | - | | 26 | NOCP | rc_w1 | No coprocessor fault | | 25 | INVPC | rc_w1 | Invalid PC load fault | | 24 | INVSTATE | rc_w1 | Invalid state fault | | 23 | UNDEF | rc_w1 | Undefined instruction fault | | 22 | Reserved | - | - | | 21 | INSTR | rc_w1 | Instruction access fault | ### BFSR — Bus Fault Status Register (Bits[15:8]) | Bit | Field | Type | Description | |-----|-------|------|-------------| | 15 | BFARVALID | rc_w1 | Bus Fault Address Register valid | | 14 | Reserved | - | - | | 13 | LSPERR | rw | Lazy save error | | 12 | STKERR | rw | Stack error | | 11 | UNSTKERR | rw | Unstack error | | 10 | IMPRECISERR | rw | Imprecise data access error | | 9 | PRECISERR | rw | Precise data access error | | 8 | IBUSERR | rw | Instruction bus error | ### MMFSR — Memory Management Fault Status Register (Bits[7:0]) | Bit | Field | Type | Description | |-----|-------|------|-------------| | 7 | MMARVALID | rc_w1 | Memory Management Fault Address Register valid | | 6 | Reserved | - | - | | 5 | MLSPERR | rw | Lazy save error (memory management) | | 4 | MSTKERR | rw | Stack error (memory management) | | 3 | MUNSTKERR | rw | Unstack error (memory management) | | 2 | Reserved | - | - | | 1 | DACCVIOL | rw | Data access violation | | 0 | IACCVIOL | rw | Instruction access violation | --- ## See also - Usage fault status register (UFSR) — page 238 - Bus fault status register (BFSR) — page 239 - Memory management fault address register (MMFSR) — page 240