208
SAM4CP [DATASHEET]
43051E–ATPL–08/14
MLSPERR: MemManage during Lazy State Preservation
This is part of
“MMFSR: Memory Management Fault Status Subregister”
.
0: No MemManage fault occurred during the floating-point lazy state preservation.
1: A MemManage fault occurred during the floating-point lazy state preservation.
MMARVALID: Memory Management Fault Address Register (SCB_MMFAR) Valid Flag
This is part of
“MMFSR: Memory Management Fault Status Subregister”
.
0: The value in SCB_MMFAR is not a valid fault address.
1: SCB_MMFAR register holds a valid fault address.
If a memory management 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 on return to a stacked active memory management fault handler whose SCB_MMFAR value has
been overwritten.
IBUSERR: Instruction Bus Error
This is part of
“BFSR: Bus Fault Status Subregister”
.
0: No instruction bus error.
1: Instruction bus error.
The processor detects the instruction bus error on prefetching an instruction, but it sets the IBUSERR flag to 1 only if it attempts
to issue the faulting instruction.
When the processor sets this bit to 1, it does not write a fault address to the BFAR.
PRECISERR: Precise Data Bus Error
This is part of
“BFSR: Bus Fault Status Subregister”
.
0: No precise data bus error.
1: A data bus error has occurred, and the PC value stacked for the exception return points to the instruction that caused the fault.
When the processor sets this bit to 1, it writes the faulting address to the SCB_BFAR.
IMPRECISERR: Imprecise Data Bus Error
This is part of
“BFSR: Bus Fault Status Subregister”
.
0: No imprecise data bus error.
1: A data bus error has occurred, but the return address in the stack frame is not related to the instruction that caused the error.
When the processor sets this bit to 1, it does not write a fault address to the SCB_BFAR register.
This is an asynchronous fault. Therefore, if it is detected when the priority of the current process is higher than the bus fault
priority, the bus fault becomes pending and becomes active only when the processor returns from all higher priority processes. If
a precise fault occurs before the processor enters the handler for the imprecise bus fault, the handler detects that both this bit and
one of the precise fault status bits are set to 1.
UNSTKERR: Bus Fault on Unstacking for a Return From Exception
This is part of
“BFSR: Bus Fault Status Subregister”
.
0: No unstacking fault.
1: Unstack for an exception return has caused one or more bus faults.
This fault is chained to the handler. This means that when the processor sets this bit to 1, the original return stack is still present.
The processor does not adjust the SP from the failing return, does not performed a new save, and does not write a fault address
to the BFAR.