Table 8-23 Bus Fault Status Register Bit Assignments - ARM Cortex-M3 Technical Reference Manual

R2p0
Hide thumbs Also See for Cortex-M3:
Table of Contents

Advertisement

Bits
Field
[7]
BFARVALID
[6:5]
-
[4]
STKERR
[3]
UNSTKERR
[2]
IMPRECISERR
[1]
PRECISERR
[0]
IBUSERR
ARM DDI 0337G
Unrestricted Access
Table 8-23 describes the bit assignments of the Bus Fault Status Register.
Function
This bit is set if the Bus Fault Address Register (BFAR) contains a valid address. This is true
after a bus fault where the address is known. Other faults can clear this bit, such as a Mem
Manage fault occurring later.
If a Bus fault occurs that is escalated to a Hard Fault because of priority, the Hard Fault handler
must clear this bit. This prevents problems if returning to a stacked active Bus fault handler
whose BFAR value has been overwritten.
Reserved.
Stacking from exception has caused one or more bus faults. The SP is still adjusted and the
values in the context area on the stack might be incorrect. The BFAR is not written.
Unstack from exception return has caused one or more bus faults. This is chained to the
handler, so that the original return stack is still present. SP is not adjusted from failing return
and new save is not performed. The BFAR is not written.
Imprecise data bus error. It is a BusFault, but the Return PC is not related to the causing
instruction. This is not a synchronous fault. So, if detected when the priority of the current
activation is higher than the Bus Fault, it only pends. Bus fault activates when returning to a
lower priority activation. If a precise fault occurs before returning to a lower priority
exception, the handler detects both IMPRECISERR set and one of the precise fault status bits
set at the same time. The BFAR is not written.
Precise data bus error return.
Instruction bus error flag:
1 = instruction bus error
0 = no instruction bus error.
The IBUSERR flag is set by a prefetch error. The fault stops on the instruction, so if the error
occurs under a branch shadow, no fault occurs. The BFAR is not written.
Usage Fault Status Register
The flags in the Usage Fault Status Register indicate the following errors:
illegal combination of EPSR and instruction
illegal PC load
illegal processor state
instruction decode error
attempt to use a coprocessor instruction
illegal unaligned access.
Copyright © 2005-2008 ARM Limited. All rights reserved.

Table 8-23 Bus Fault Status Register bit assignments

Non-Confidential
Nested Vectored Interrupt Controller
8-35

Advertisement

Table of Contents
loading

Table of Contents