2.7.4.6 MPU Access Permission Attributes
This section describes the MPU access permission attributes. The access permission bits, TEX, C, B, S, AP, and XN, of the MPU_RASR, control access to the corresponding memory region. If an access is made to an area of memory without the required permissions, then the MPU generates a permission fault.
The following table shows the encodings for the TEX, C, B, and S access permission bits.
TEX | C | B | S | Memory type | Shareability | Other attributes |
---|---|---|---|---|---|---|
b000 | 0 | 0 | x 1 | Strongly-ordered | Shareable | — |
1 | x a | Device | Shareable | — | ||
1 | 0 | 0 | Normal | Not shareable | Outer and inner write-through. No write allocate. | |
1 | Shareable | |||||
1 | 0 | Normal | Not shareable | Outer and inner write-back. No write allocate. | ||
1 | Shareable | |||||
b001 | 0 | 0 | 0 | Normal | Not shareable | Outer and inner non-cacheable. |
1 | Shareable | |||||
1 | x a | Reserved encoding | — | |||
1 | 0 | x a | Implementation defined attributes. | — | ||
1 | 0 | Normal | Not shareable | Outer and inner write-back. Write and read allocate. | ||
1 | Shareable | |||||
b010 | 0 | 0 | x a | Device | Not shareable | Nonshared Device. |
1 | x a | Reserved encoding | — | |||
1 | x a | x a | Reserved encoding | — | ||
b1BB | A | A | 0 | Normal | Not shareable | Cached memory2, BB = outer policy, AA = inner policy. |
1 | Shareable |
- The MPU ignores the value of this bit.
- See Table 2-79 for the encoding of the AA and BB bits.
The following table describes the cache policy for memory attribute encodings with a TEX value is in the range 4-7.
Encoding, AA or BB | Corresponding cache policy |
---|---|
00 | Non-cacheable |
01 | Write back, write and read allocate |
10 | Write through, no write allocate |
11 | Write back, no write allocate |
The following table lists the AP encodings that define the access permissions for privileged and unprivileged software.
AP[2:0] | Privileged Permissions |
Unprivileged Permissions |
Description |
---|---|---|---|
000 | No access | No access | All accesses generate a permission fault |
001 | RW | No access | Access from privileged software only |
010 | RW | RO | Writes by unprivileged software generate a permission fault |
011 | RW | RW | Full access |
100 | Unpredictable | Unpredictable | Reserved |
101 | RO | No access | Reads by privileged software only |
110 | RO | RO | Read only, by privileged or unprivileged software |
111 | RO | RO | Read only, by privileged or unprivileged software |