190
SAM4CP [DATASHEET]
43051E–ATPL–08/14
12.9
System Control Block (SCB)
The System Control Block (SCB) provides system implementation information, and system control. This includes
configuration, control, and reporting of the system exceptions.
Ensure that the software uses aligned accesses of the correct size to access the system control block registers:
Except for the SCB_CFSR and SCB_SHPR1-SCB_SHPR3 registers, it must use aligned word accesses.
For the SCB_CFSR and SCB_SHPR1-SCB_SHPR3 registers, it can use byte or aligned halfword or word
accesses.
The processor does not support unaligned accesses to system control block registers.
In a fault handler, to determine the true faulting address:
1.
2.
Read and save the MMFAR or SCB_BFAR value.
Read the MMARVALID bit in the MMFSR subregister, or the BFARVALID bit in the BFSR subregister. The
SCB_MMFAR or SCB_BFAR address is valid only if this bit is 1.
The software must follow this sequence because another higher priority exception might change the SCB_MMFAR or
SCB_BFAR value. For example, if a higher priority handler preempts the current fault handler, the other fault might
change the SCB_MMFAR or SCB_BFAR value.
12.9.1 System Control Block (SCB) User Interface
Notes: 1. See the register description for more information.
2. This register contains the subregisters:
“MMFSR: Memory Management Fault Status Subregister”
(0xE000ED28 - 8
bits),
“BFSR: Bus Fault Status Subregister”
(0xE000ED29 - 8 bits),
“UFSR: Usage Fault Status Subregister”
(0xE000ED2A - 16 bits).
Table 12-33. System Control Block (SCB) Register Mapping
Offset
Register
Name
Access
Reset
0xE000E008
Auxiliary Control Register
SCB_ACTLR
Read/Write
0x00000000
0xE000ED00
CPUID Base Register
SCB_CPUID
Read-only
0x410FC240
0xE000ED04
Interrupt Control and State Register
SCB_ICSR
Read/Write
(1)
0x00000000
0xE000ED08
Vector Table Offset Register
SCB_VTOR
Read/Write
0x00000000
0xE000ED0C
Application Interrupt and Reset Control Register
SCB_AIRCR
Read/Write
0xFA050000
0xE000ED10
System Control Register
SCB_SCR
Read/Write
0x00000000
0xE000ED14
Configuration and Control Register
SCB_CCR
Read/Write
0x00000200
0xE000ED18
System Handler Priority Register 1
SCB_SHPR1
Read/Write
0x00000000
0xE000ED1C
System Handler Priority Register 2
SCB_SHPR2
Read/Write
0x00000000
0xE000ED20
System Handler Priority Register 3
SCB_SHPR3
Read/Write
0x00000000
0xE000ED24
System Handler Control and State Register
SCB_SHCSR
Read/Write
0x00000000
0xE000ED28
Configurable Fault Status Register
SCB_CFSR
(2)
Read/Write
0x00000000
0xE000ED2C
HardFault Status Register
SCB_HFSR
Read/Write
0x00000000
0xE000ED34
MemManage Fault Address Register
SCB_MMFAR
Read/Write
Unknown
0xE000ED38
BusFault Address Register
SCB_BFAR
Read/Write
Unknown
0xE000ED3C
Auxiliary Fault Status Register
SCB_AFSR
Read/Write
0x00000000