Datasheet

209
SAM3X / SAM3A [DATASHEET]
Atmel-11057C-ATARM-SAM3X-SAM3A-Datasheet_23-Mar-15
a subregion means another region overlapping the disabled range matches instead. If no other enabled region
overlaps the disabled subregion the MPU issues a fault.
Regions of 32, 64, and 128 bytes do not support subregions, With regions of these sizes, you must set the SRD
field to 0x00, otherwise the MPU behavior is Unpredictable.
10.23.8.4 Example of SRD use
Two regions with the same base address overlap. Region one is 128KB, and region two is 512KB. To ensure the
attributes from region one apply to the first128KB region, set the SRD field for region two to b00000011 to disable
the first two subregions, as Figure 10-9 shows
Figure 10-9. SRD use
10.23.9 MPU design hints and tips
To avoid unexpected behavior, disable the interrupts before updating the attributes of a region that the interrupt
handlers might access.
Ensure software uses aligned accesses of the correct size to access MPU registers:
except for the RASR, it must use aligned word accesses
for the RASR it can use byte or aligned halfword or word accesses.
The processor does not support unaligned accesses to MPU registers.
When setting up the MPU, and if the MPU has previously been programmed, disable unused regions to prevent
any previous region settings from affecting the new MPU setup.
10.23.9.1 MPU configuration for a microcontroller
Usually, a microcontroller system has only a single processor and no caches. In such a system, program the MPU
as follows:
In most microcontroller implementations, the share ability and cache policy attributes do not affect the system
behavior. However, using these settings for the MPU regions can make the application code more portable. The
values given are for typical situations. In special systems, such as multiprocessor designs or designs with a
separate DMA engine, the share ability attribute might be important. In these cases refer to the recommendations
of the memory device manufacturer.
5HJLRQ
'LVDEOHGVXEUHJLRQ
'LVDEOHGVXEUHJLRQ
5HJLRQZLWK
VXEUHJLRQV
%DVHDGGUHVVRIERWKUHJLRQV
2IIVHWIURP
EDVHDGGUHVV
.%
.%
.%
.%
.%
.%
.%
.%
Table 10-40. Memory region attributes for a microcontroller
Memory region TEX C B S Memory type and attributes
Flash memory b000 1 0 0 Normal memory, Non-shareable, write-through
Internal SRAM b000 1 0 1 Normal memory, Shareable, write-through
External SRAM b000 1 1 1 Normal memory, Shareable, write-back, write-allocate
Peripherals b000 0 1 1 Device memory, Shareable