MPU Segments
316
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
Memory Protection Unit (MPU)
The lowest address in the higher segment can be calculated with the following formula:
Given:
Segment Border Address (BA) or register value MPUSEGBx
Hence follows:
MPUSEGBx = (BA) >> 4
BA = (MPUSEGBx << 4)
Examples:
Segment border address = 0x0F000
→
MPUSEGBx = (0x0F000 >> 4) = 0x0F00
Segment border address = 0x13000
→
MPUSEGBx = (0x13000 >> 4) = 0x1300
MPUSEGBx = 0x1100
→
segment border address = (0x1100 << 4) = 0x11000
Table 9-3. MPU Border Selection Example 64KB
(004000h to 013FFFh)
Border Address
MPUSEGBx[15:0]
(outside)
0000h
⋮
⋮
(outside)
03C0h
04000h
0400h
04400h
0440h
04800h
0480h
04C00h
04C0h
05000h
0500h
⋮
⋮
0F000h
0F00h
0F400h
0F40h
0F800h
0F80h
0FC00h
0FC0h
10000h
1000h
10400h
1040h
⋮
⋮
13000h
1300h
13400h
1340h
13800h
1380h
13C00h
13C0h
14000h (top of memory )
1400h
(outside)
1440h
⋮
⋮
(outside)
3F80h
(outside)
3FC0h
NOTE:
Depending on the memory size settings for MPUSEGBx[4:0], the calculation may result in a
lower address space than is available. For those settings, a lower segment does not exist,
and the higher segment starts with the first available memory address (see memory
organization in device-specific data sheet).
9.2.4 IP Encapsulation Border Settings
The setting of the boundaries for the IP Encapsulation segment follows the same principle as the Main
Segment settings.