SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
Table 2-147 lists the memory-mapped registers for the CPU_MPU registers. All register offset addresses not listed in Table 2-147 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | TYPE | The MPU Type Register indicates how many regions the MPU supports | Section 2.5.6.1 |
| 4h | CTRL | Enables the MPU and, when the MPU is enabled, controls whether the default memory map is enabled as a background region for privileged accesses, and whether the MPU is enabled for HardFaults, NMIs, and exception handlers when FAULTMASK is set to 1 | Section 2.5.6.2 |
| 8h | RNR | Selects the region currently accessed by MPU_RBAR and MPU_RLAR | Section 2.5.6.3 |
| Ch | RBAR | Provides indirect read and write access to the base address of the currently selected MPU region | Section 2.5.6.4 |
| 10h | RLAR | Provides indirect read and write access to the limit address of the currently selected MPU region | Section 2.5.6.5 |
| 14h | RBAR_A1 | Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(1[1:0]) | Section 2.5.6.6 |
| 18h | RLAR_A1 | Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(1[1:0]) | Section 2.5.6.7 |
| 1Ch | RBAR_A2 | Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(2[1:0]) | Section 2.5.6.8 |
| 20h | RLAR_A2 | Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(2[1:0]) | Section 2.5.6.9 |
| 24h | RBAR_A3 | Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(3[1:0]) | Section 2.5.6.10 |
| 28h | RLAR_A3 | Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(3[1:0]) | Section 2.5.6.11 |
| 30h | MAIR0 | Along with MPU_MAIR1, provides the memory attribute encodings corresponding to the AttrIndex values | Section 2.5.6.12 |
| 3Ch | MAIR1 | Along with MPU_MAIR0, provides the memory attribute encodings corresponding to the AttrIndex values | Section 2.5.6.13 |
Complex bit access types are encoded to fit into small table cells. Table 2-148 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
TYPE is shown in Table 2-149.
Return to the Summary Table.
The MPU Type Register indicates how many regions the MPU supports
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 15-8 | DREGION | R | 8h | Number of regions supported by the MPU |
| 7-1 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 0 | SEPARATE | R | 0h | Indicates support for separate instructions and data address regions |
CTRL is shown in Table 2-150.
Return to the Summary Table.
Enables the MPU and, when the MPU is enabled, controls whether the default memory map is enabled as a background region for privileged accesses, and whether the MPU is enabled for HardFaults, NMIs, and exception handlers when FAULTMASK is set to 1
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 2 | PRIVDEFENA | R/W | 0h | Controls whether the default memory map is enabled for privileged software |
| 1 | HFNMIENA | R/W | 0h | Controls whether handlers executing with priority less than 0 access memory with the MPU enabled or disabled. This applies to HardFaults, NMIs, and exception handlers when FAULTMASK is set to 1 |
| 0 | ENABLE | R/W | 0h | Enables the MPU |
RNR is shown in Table 2-151.
Return to the Summary Table.
Selects the region currently accessed by MPU_RBAR and MPU_RLAR
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 7-0 | REGION | R/W | 0h | Indicates the memory region accessed by MPU_RBAR and MPU_RLAR |
RBAR is shown in Table 2-152.
Return to the Summary Table.
Provides indirect read and write access to the base address of the currently selected MPU region
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | BASE | R/W | 0h | Contains bits [31:5] of the lower inclusive limit of the selected MPU memory region. This value is zero extended to provide the base address to be checked against |
| 4-3 | SH | R/W | 0h | Defines the Shareability domain of this region for Normal memory |
| 2-1 | AP | R/W | 0h | Defines the access permissions for this region |
| 0 | XN | R/W | 0h | Defines whether code can be executed from this region |
RLAR is shown in Table 2-153.
Return to the Summary Table.
Provides indirect read and write access to the limit address of the currently selected MPU region
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | LIMIT | R/W | 0h | Contains bits [31:5] of the upper inclusive limit of the selected MPU memory region. This value is postfixed with 0x1F to provide the limit address to be checked against |
| 4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-1 | ATTRINDX | R/W | 0h | Associates a set of attributes in the MPU_MAIR0 and MPU_MAIR1 fields |
| 0 | EN | R/W | 0h | Region enable |
RBAR_A1 is shown in Table 2-154.
Return to the Summary Table.
Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(1[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | BASE | R/W | 0h | Contains bits [31:5] of the lower inclusive limit of the selected MPU memory region. This value is zero extended to provide the base address to be checked against |
| 4-3 | SH | R/W | 0h | Defines the Shareability domain of this region for Normal memory |
| 2-1 | AP | R/W | 0h | Defines the access permissions for this region |
| 0 | XN | R/W | 0h | Defines whether code can be executed from this region |
RLAR_A1 is shown in Table 2-155.
Return to the Summary Table.
Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(1[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | LIMIT | R/W | 0h | Contains bits [31:5] of the upper inclusive limit of the selected MPU memory region. This value is postfixed with 0x1F to provide the limit address to be checked against |
| 4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-1 | ATTRINDX | R/W | 0h | Associates a set of attributes in the MPU_MAIR0 and MPU_MAIR1 fields |
| 0 | EN | R/W | 0h | Region enable |
RBAR_A2 is shown in Table 2-156.
Return to the Summary Table.
Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(2[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | BASE | R/W | 0h | Contains bits [31:5] of the lower inclusive limit of the selected MPU memory region. This value is zero extended to provide the base address to be checked against |
| 4-3 | SH | R/W | 0h | Defines the Shareability domain of this region for Normal memory |
| 2-1 | AP | R/W | 0h | Defines the access permissions for this region |
| 0 | XN | R/W | 0h | Defines whether code can be executed from this region |
RLAR_A2 is shown in Table 2-157.
Return to the Summary Table.
Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(2[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | LIMIT | R/W | 0h | Contains bits [31:5] of the upper inclusive limit of the selected MPU memory region. This value is postfixed with 0x1F to provide the limit address to be checked against |
| 4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-1 | ATTRINDX | R/W | 0h | Associates a set of attributes in the MPU_MAIR0 and MPU_MAIR1 fields |
| 0 | EN | R/W | 0h | Region enable |
RBAR_A3 is shown in Table 2-158.
Return to the Summary Table.
Provides indirect read and write access to the base address of the MPU region selected by MPU_RNR[7:2]:(3[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | BASE | R/W | 0h | Contains bits [31:5] of the lower inclusive limit of the selected MPU memory region. This value is zero extended to provide the base address to be checked against |
| 4-3 | SH | R/W | 0h | Defines the Shareability domain of this region for Normal memory |
| 2-1 | AP | R/W | 0h | Defines the access permissions for this region |
| 0 | XN | R/W | 0h | Defines whether code can be executed from this region |
RLAR_A3 is shown in Table 2-159.
Return to the Summary Table.
Provides indirect read and write access to the limit address of the currently selected MPU region selected by MPU_RNR[7:2]:(3[1:0])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | LIMIT | R/W | 0h | Contains bits [31:5] of the upper inclusive limit of the selected MPU memory region. This value is postfixed with 0x1F to provide the limit address to be checked against |
| 4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-1 | ATTRINDX | R/W | 0h | Associates a set of attributes in the MPU_MAIR0 and MPU_MAIR1 fields |
| 0 | EN | R/W | 0h | Region enable |
MAIR0 is shown in Table 2-160.
Return to the Summary Table.
Along with MPU_MAIR1, provides the memory attribute encodings corresponding to the AttrIndex values
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | ATTR3 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 3 |
| 23-16 | ATTR2 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 2 |
| 15-8 | ATTR1 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 1 |
| 7-0 | ATTR0 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 0 |
MAIR1 is shown in Table 2-161.
Return to the Summary Table.
Along with MPU_MAIR0, provides the memory attribute encodings corresponding to the AttrIndex values
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | ATTR7 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 7 |
| 23-16 | ATTR6 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 6 |
| 15-8 | ATTR5 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 5 |
| 7-0 | ATTR4 | R/W | 0h | Memory attribute encoding for MPU regions with an AttrIndex of 4 |