All Cortex-M processors have 4GB addressable memory space(0x0000 0000 to 0xFFFF FFFF) of 32bit addressing. Memory space is unified which means instructions and data share the same address space.
Memory locations for internal peripherals such as NVIC, SysTick, MPU and debug components inside the processor are fixed.
The 4GB addressable memory space is divided into several memory regions.
- Code
(region of 0.5GB)
- SRAM
(region of 0.5GB)
- Peripherals
(region of 0.5GB)
- RAM
(region of 1.0GB)
- Devices
(region of 1.0GB)
- System
(region of 0.5GB)