PIC32MZ memory map

sergev edited this page Dec 5, 2014 · 10 revisions

Virtual memory map:

Address Segment Region
FFFFFFFF
E0000000
kseg3 Kernel space, mapped via TLB
DFFFFFFF
C0000000
kseg2 Kernel space, mapped via TLB
BFC73FFF
BFC00000
kseg1 Boot Flash (not cacheable)
BF8FFFFF
BF800000
kseg1 Special function registers (not cacheable)
BD1FFFFF
BD000000
kseg1 Program Flash (not cacheable)
A007FFFF
A0000000
kseg1 RAM (not cacheable)
9FC73FFF
9FC00000
kseg0 Boot Flash (cacheable)
9D1FFFFF
9D000000
kseg0 Program Flash (cacheable)
8007FFFF
80000000
kseg0 RAM (cacheable)
7FFFFFFF
00000000
kuseg User space, mapped via TLB

Physical memory map:

Address Region
33FFFFFF
30000000
External memory via SQI
23FFFFFF
20000000
External memory via EBI
1FC73FFF
1FC00000
Boot Flash area
1F8FFFFF
1F800000
Special function registers
1D1FFFFF
1D000000
2 Mbytes of program Flash memory
0007FFFF
00000000
512 kbytes of physical RAM

Kernel virtual memory map:

Address Size Data Description
a0000000 4 pages __data_start, _gp Start of .data section
a0003xxx 4 pages _edata Start of .bss section
a0007xxx _end End of .bss section
a0008000 2 pages firstaddr U area for process 0
a000a000 2 pages nullproc.p_addr U area for null process
a000c000 640 bytes callout 40 entries
a000c280 384 bytes swapmap 48 entries
a000c400 896 bytes swbuf 8 entries
a000c780 2016 bytes buf 18 entries
a000cf60 5600 bytes Sysmap 1400 entries
a000e540 1356 bytes pv_table 113 entries
a000f000 1 page vm_page_buckets 128 entries, 1024 bytes
a0010000 8 pages kentry_data 10 entries by 136 bytes,
plus 500 entries by 56 bytes
a0018000 1 page vm_page_array 102 entries, 4080 bytes
a0019000 102 pages avail_start User memory
a007f000 1 page msgbufp Message buffer
a0080000 End of physical memory