Home | Projects | Notes > MCU Peripheral Drivers > Memory Map
STM32F4xx family MCU uses ARM Cortex-M4 processor.
Width of the system bus: 32 bits
The processor can product 232 different addresses (4 GB).
0x0000_0000 ~ 0xFFFF_FFFF
Each MCU peripheral is mapped to a subset of these addressable memory addresses.
e.g., When the processor produces 0x4002_0000 on the system bus, it is referring to the GPIO registers.
Different types of MCUs have different memory maps but the fundamentals are the same. Consult the MCU reference manual for the MCU specific information.
See also, https://kyungjae.com/notes/arm-cortex-m3-m4-processor/memory-map.
Some important base addresses of peripheral registers:
xxxxxxxxxx221/* Base adddress of AHB1 peripheral registers */23
4/* Base adddress of GPIOA peripheral registers */56
7/* Base adddress of RCC engine registers of the MCU */89
10/* Base adddress of APB1 peripheral registers */1112
13/* Base adddress of FLASH memory */1415
16/* Base adddress of SRAM1, SRAM2 */1718/* SRAM1: 112 KB, SRAM2: 16 KB */1920
21/* Base adddress of ADC1 peripheral registers */22Make sure to find this information from the MCU reference manual.