SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 183

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
11.21.11.2
• 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 pre-
vents problems if returning to a stacked active bus fault handler whose BFAR value has been overwritten.
• STKERR
Bus fault on stacking for exception entry:
0: no stacking fault
1: stacking for an exception entry has caused one or more bus faults.
When the processor sets this bit to 1, the SP is still adjusted but the values in the context area on the stack might be incor-
rect. The processor does not write a fault address to the BFAR.
• UNSTKERR
Bus fault on unstacking for a return from exception:
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.
• IMPRECISERR
Imprecise data bus error:
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 BFAR.
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 pro-
cesses. If a precise fault occurs before the processor enters the handler for the imprecise bus fault, the handler detects
both IMPRECISERR set to 1 and one of the precise fault status bits set to 1.
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
BFRVALID
7
Bus Fault Status Register
6
Reserved
The flags in the BFSR indicate the cause of a bus access fault. The bit assignments are:
5
STKERR
4
UNSTKERR
3
IMPRECISERR
2
PRECISERR
1
SAM3X/A
SAM3X/A
IBUSERR
0
183
183

Related parts for SAM3X8E