UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013  779 of 841
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 user guide
34.4.3.11.2 Bus Fault Status Register
The flags in the BFSR indicate the cause of a bus access fault. The bit assignments are 
shown in Table 669
.
 
[3] MUNSTKERR Memory manager fault on unstacking for a return from exception:
0 = no unstacking fault
1 = unstack for an exception return has caused one or more access 
violations.
This fault is chained to the handler. This means that when this bit is 
1, the original return stack is still present. The processor has not 
adjusted the SP from the failing return, and has not performed a new 
save. The processor has not written a fault address to the MMAR.
[2] - Reserved
[1] DACCVIOL Data access violation flag:
0 = no data access violation fault
1 = the processor attempted a load or store at a location that does 
not permit the operation.
When this bit is 1, the PC value stacked for the exception return 
points to the faulting instruction. The processor has loaded the 
MMAR with the address of the attempted access.
[0] IACCVIOL Instruction access violation flag:
0 = no instruction access violation fault
1 = the processor attempted an instruction fetch from a location that 
does not permit execution. 
This fault occurs on any access to an XN region, even when the 
MPU is disabled.
When this bit is 1, the PC value stacked for the exception return 
points to the faulting instruction. The processor has not written a 
fault address to the MMAR.
Table 668. MMFSR bit assignments …continued
Bits Name Function
Table 669. BFSR bit assignments
Bits Name Function
[7] BFARVALID Bus Fault Address Register (BFAR) valid flag:
0 = value in BFAR is not a valid fault address
1 = BFAR holds a valid fault address.
The processor sets this bit to 1 after a bus fault where the address is 
known. Other faults can set this bit to 0, such as a memory management 
fault occurring later.
If a bus fault occurs and is escalated to a hard fault because of priority, 
the hard fault handler must set this bit to 0. This prevents problems if 
returning to a stacked active bus fault handler whose BFAR value has 
been overwritten.
[6:5] - Reserved.