ARM MCU Memory Map

Arm microcontrollers have linear memory organization. Starting from 0x00000000 address to 0x40000000 is Internal Flash memory location. From 0x40000000 to 0x7FFFFFFF is on-chip RAM memory space. As we know many ARM families like LPC2000 series MCU is preprogrammed with flash boot-loader and ARM real monitor debug, so both are placed at location starting from 0x7FFFFFFF to 0x80000000 memory location.

ARM_memory_map

Address space from 0x80000000 to 0xE0000000 is reserved for external memory.

Going up in memory space, there is a peripheral memory space starting from 0xE0000000 to 0xE0200000. Each peripheral has its own memory page of 16Kbytes. Starting from 0xFFFFF000, there are Interrupt Unit located.

ARM_peripheral_memory

Interrupt vectors may be re-mapped to different memory locations like RAM.

Leave a Reply