ARM cortex-M : System Control Block (SCB) - CFSR

Index : ARM cortex-m : system control block (SCB)


Cortex-M7 CFSR


0xE000ED34 MMAR




MMFSR : Memory Management Fault Status Register


Table 4.26. MMFSR bit assignments
BitsNameFunction
[7]MMARVALID
MemManage Fault Address Register (MMFAR) valid flag:
0
Value in MMAR is not a valid fault address.
1
MMAR holds a valid fault address.
If a MemManage fault occurs and is escalated to a HardFault because of priority, the HardFault handler must set this bit to 0. This prevents problems on return to a stacked active MemManage fault handler whose MMAR value has been overwritten.
[6]-Reserved.
[5]MLSPERR[a]
0
No MemManage fault occurred during floating-point lazy state preservation.
1
A MemManage fault occurred during floating-point lazy state preservation.
[4]MSTKERR
MemManage fault on stacking for exception entry:
0
No stacking fault.
1
Stacking for an exception entry has caused one or more access violations.
When this bit is 1, the SP is still adjusted but the values in the context area on the stack might be incorrect. The processor has not written a fault address to the MMAR.
[3]MUNSTKERR
MemManage 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 or not present.
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.

留言

熱門文章