36
32000D–04/2011
AVR32
The P3 space is also by default segment translated to the physical address range 0x00000000
to 0x1FFFFFFF. By enabling and setting up the MMU, the P3 space becomes page translated.
Page translation will override segment translation.
The P4 space is intended for memory mapping special system resources like the memory arrays
in caches. This segment is non-cacheable, non-translated.
The U0 segment is accessible in the unprivileged user mode. This segment is cacheable and
translated, depending upon the configuration of the cache and the memory management unit. If
accesses to other memory addresses than the ones within U0 is made in application mode, an
access error exception is issued.
The segment translation can be disabled by clearing the S bit in the MMUCR. This will place all
the virtual memory space into a single 4 GB mapped memory space. Doing this will give all
access permission control to the AP bits in the TLB entry matching the virtual address, and allow
all virtual addresses to be translated. Segment translation is enabled by default.
The AVR32 architecture has two translations of addresses.
1.
Segment translation (enabled by the MMUCR[S] bit)
2.
Page translation (enabled by the MMUCR[E] bit)
Both these translations are performed by the MMU and they can be applied independent of each
other. This means that you can enable:
1.
No translation. Virtual and physical addresses are the same.
2.
Segment translation only. The virtual and physical addresses are the same for
addresses residing in the P0, P4 and U0 segments. P1, P2 and P3 are mapped to the
physical address range 0x00000000 to 0x1FFFFFFF.
3.
Page translation only. All addresses are mapped as described by the TLB entries.
Both segment and page translations. P1 and P2 are mapped to the physical address
range 0x00000000 to 0x1FFFFFFF. U0, P0 and P3 are mapped as described by the
TLB entries. The virtual and physical addresses are the same for addresses residing in
the P4 segment.
The segment translation is by default turned on and the page translation is by default turned off
Table 5-1.
The virtual address map
Virtual
address
[31:29]
Segment
name
Virtual
Address Range
Segment
size
Accessible
from
Default
segment
translated
Characteristics
111
P4
0xFFFF_FFFF to
0xE000_0000
512 MB
Privileged
No
System space
Unmapped, Uncacheable
110
P3
0xDFFF_FFFF to
0xC000_0000
512 MB
Privileged
Yes
Mapped,
Cacheable
101
P2
0xBFFF_FFFF to
0xA000_0000
512 MB
Privileged
Yes
Unmapped, Uncacheable
100
P1
0x9FFF_FFFF to
0x8000_0000
512 MB
Privileged
Yes
Unmapped, Cacheable
0xx
P0 / U0
0x7FFF_FFFF to
0x0000_0000
2 Gb
Unprivileged
Privileged
No
Mapped, Cacheable