4.3.14. System control block design hints and tips

Ensure software uses aligned accesses of the correct size to access the system control block registers:

The processor does not support unaligned accesses to system control block registers.

In a fault handler, to determine the true faulting address:

  1. Read and save the MMFAR or BFAR value.

  2. Read the MMARVALID bit in the MMFSR, or the BFARVALID bit in the BFSR. The MMFAR or BFAR address is valid only if this bit is 1.

Software must follow this sequence because another higher priority exception might change the MMFAR or BFAR value. For example, if a higher priority handler preempts the current fault handler, the other fault might change the MMFAR or BFAR value.

In addition, the CMSIS provides a number of functions for system control, including:

Table 4.32. CMSIS function for system control

CMSIS system control functionDescription
void NVIC_SystemReset (void)Reset the system

Copyright © 2015, 2018 Arm. All rights reserved.ARM DUI 0646C