Table 3-2 on page 138 shows the possible MPU region attributes. See the section called “MPU
Configuration for a Tiva™ C Series Microcontroller” on page 142 for guidelines for programming a
microcontroller implementation.
Table 3-2. Memory Attributes Summary
Description
Memory Type
All accesses to Strongly Ordered memory occur in program order.
Strongly Ordered
Memory-mapped peripherals
Device
Normal memory
Normal
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
MPU Region Attribute and Size (MPUATTR)
register, all MPU registers must
be accessed with aligned word accesses.
■ The
MPUATTR
register can be accessed with 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.
3.1.4.1
Updating an MPU Region
To update the attributes for an MPU region, the
MPU Region Number (MPUNUMBER)
,
MPU
Region Base Address (MPUBASE)
and
MPUATTR
registers must be updated. Each register can
be programmed separately or with a multiple-word write to program all of these registers. You can
use the
MPUBASEx
and
MPUATTRx
aliases to program up to four regions simultaneously using
an
STM
instruction.
Updating an MPU Region Using Separate Words
This example simple code configures one region:
; R1 = region number
; R2 = size/enable
; R3 = attributes
; R4 = address
LDR R0,=MPUNUMBER ; 0xE000ED98, MPU region number register
STR R1, [R0, #0x0] ; Region Number
STR R4, [R0, #0x4] ; Region Base Address
STRH R2, [R0, #0x8] ; Region Size and Enable
STRH R3, [R0, #0xA] ; Region Attribute
Disable a region before writing new region settings to the MPU if you have previously enabled the
region being changed. For example:
; R1 = region number
; R2 = size/enable
; R3 = attributes
; R4 = address
LDR R0,=MPUNUMBER ; 0xE000ED98, MPU region number register
June 18, 2014
138
Texas Instruments-Production Data
Cortex-M4 Peripherals