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:
xxxxxxxxxx
221/* Base adddress of AHB1 peripheral registers */
2
3
4/* Base adddress of GPIOA peripheral registers */
5
6
7/* Base adddress of RCC engine registers of the MCU */
8
9
10/* Base adddress of APB1 peripheral registers */
11
12
13/* Base adddress of FLASH memory */
14
15
16/* Base adddress of SRAM1, SRAM2 */
17
18/* SRAM1: 112 KB, SRAM2: 16 KB */
19
20
21/* Base adddress of ADC1 peripheral registers */
22
Make sure to find this information from the MCU reference manual.