Register 65: Configurable Fault Status (FAULTSTAT), offset 0xD28
Note:
This register can only be accessed from privileged mode.
The
FAULTSTAT
register indicates the cause of a memory management fault, bus fault, or usage
fault. Each of these functions is assigned to a subregister as follows:
■
Usage Fault Status (UFAULTSTAT)
, bits 31:16
■
Bus Fault Status (BFAULTSTAT)
, bits 15:8
■
Memory Management Fault Status (MFAULTSTAT)
, bits 7:0
FAULTSTAT
is byte accessible.
FAULTSTAT
or its subregisters can be accessed as follows:
■ The complete
FAULTSTAT
register, with a word access to offset 0xD28
■ The
MFAULTSTAT
, with a byte access to offset 0xD28
■ The
MFAULTSTAT
and
BFAULTSTAT
, with a halfword access to offset 0xD28
■ The
BFAULTSTAT
, with a byte access to offset 0xD29
■ The
UFAULTSTAT
, with a halfword access to offset 0xD2A
Bits are cleared by writing a 1 to them.
In a fault handler, the true faulting address can be determined by:
1.
Read and save the
Memory Management Fault Address (MMADDR)
or
Bus Fault Address
(FAULTADDR)
value.
2.
Read the
MMARV
bit in
MFAULTSTAT
, or the
BFARV
bit in
BFAULTSTAT
to determine if the
MMADDR
or
FAULTADDR
contents are valid.
Software must follow this sequence because another higher priority exception might change the
MMADDR
or
FAULTADDR
value. For example, if a higher priority handler preempts the current
fault handler, the other fault might change the
MMADDR
or
FAULTADDR
value.
Configurable Fault Status (FAULTSTAT)
Base 0xE000.E000
Offset 0xD28
Type RW1C, reset 0x0000.0000
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
UNDEF
INVSTAT
INVPC
NOCP
reserved
UNALIGN
DIV0
reserved
RW1C
RW1C
RW1C
RW1C
RO
RO
RO
RO
RW1C
RW1C
RO
RO
RO
RO
RO
RO
Type
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
IERR
DERR
reserved
MUSTKE
MSTKE
MLSPERR
reserved
MMARV
IBUS
PRECISE
IMPRE
BUSTKE
BSTKE
BLSPERR
reserved
BFARV
RW1C
RW1C
RO
RW1C
RW1C
RW1C
RO
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RO
RW1C
Type
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset
Description
Reset
Type
Name
Bit/Field
Software should not rely on the value of a reserved bit. To provide
compatibility with future products, the value of a reserved bit should be
preserved across a read-modify-write operation.
0x00
RO
reserved
31:26
June 18, 2014
184
Texas Instruments-Production Data
Cortex-M4 Peripherals