System Control Block (SCB) Register Descriptions
1681
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
Cortex-M3 Peripherals
Table 25-50. Configurable Fault Status (FAULTSTAT) Register Field Descriptions (continued)
Bit
Field
Value
Description
24
UNALIGN
Unaligned Access Usage Fault
0
No unaligned access fault has occurred, or unaligned access trapping is not enabled.
1
The processor has made an unaligned memory access.
Unaligned LDM, STM, LDRD, and STRD instructions always fault regardless of the configuration of
this bit. Trapping on unaligned access is enabled by setting the UNALIGNED bit in the CFGCTRL
register.
This bit is cleared by writing a 1 to it.
23-20
Reserved
Reserved
19
NOCP
No Coprocessor Usage Fault
0
A usage fault has not been caused by attempting to access a coprocessor.
1
The processor has attempted to access a coprocessor.
This bit is cleared by writing a 1 to it.
18
INVPC
Invalid PC Load Usage Fault
0
A usage fault has not been caused by attempting to load an invalid PC value. 0
1
The processor has attempted an illegal load of EXC_RETURN to the PC as a result of an invalid
context or an invalid EXC_RETURN value.
When this bit is set, the PC value stacked for the exception return points to the instruction that tried
to perform the illegal load of the PC. This bit is cleared by writing a 1 to it.
17
INVSTAT
Invalid State Usage Fault
0
A usage fault has not been caused by an invalid state.
1
The processor has attempted to execute an instruction that makes illegal use of the EPSR register.
When this bit is set, the PC value stacked for the exception return points to the instruction that
attempted the illegal use of the Execution Program Status Register (EPSR) register. This bit is not
set if an undefined instruction uses the EPSR register.
This bit is cleared by writing a 1 to it.
16
UNDEF
Undefined Instruction Usage Fault
0
A usage fault has not been caused by an undefined instruction. The processor has attempted to
execute an undefined instruction.
1
When this bit is set, the PC value stacked for the exception return points to the undefined
instruction. An undefined instruction is an instruction that the processor cannot decode.
This bit is cleared by writing a 1 to it.
15
BFARV
Bus Fault Address Register Valid
0
The value in the Bus Fault Address (FAULTADDR) register is not a valid fault address.
1
The FAULTADDR register is holding a valid fault address.
This bit is set after a bus fault, where the address is known. Other faults can clear this bit, 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 clear this bit. This action prevents problems if
returning to a stacked active bus fault handler whose FAULTADDR register value has been
overwritten.
This bit is cleared by writing a 1 to it.
14-13
Reserved
Reserved
12
BSTKE
Stack Bus Fault
0
No bus fault has occurred on stacking for exception entry.
1
Stacking for an exception entry has caused one or more bus faults.
When this bit is set, the SP is still adjusted but the values in the context area on the stack might be
incorrect. A fault address is not written to the FAULTADDR register.
This bit is cleared by writing a 1 to it.