提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:本文介绍stm32的FLASH,RAM,以及为什么说stm32有4G的寻址空间,我们先来看一下stm32的寻址空间,具体的储存空间结构;
STM32F103 的寻址空间
以STM32F103为例,它的内存映射如下:
- 0x0000 0000 - 0x1FFF FFFF:代码区域,包括主Flash存储器和系统存储器。
- 0x2000 0000 - 0x3FFF FFFF:SRAM区域。
- 0x4000 0000 - 0x5FFF FFFF:外设区域,包括各种外设寄存器。
- 0x6000 0000 - 0x9FFF FFFF:外部存储器区域。
- 0xA000 0000 - 0xDFFF FFFF:外设寄存器别名。
- 0xE000 0000 - 0xFFFF FFFF:系统控制空间,包括核心外设寄存器(如NVIC、SysTick等)。
STM32F407 的寻址空间
STM32F407的内存映射和STM32F103类似,但其Flash和SRAM容量较大:
- 0x0000 0000 - 0x1FFF FFFF:代码区域,包括主Flash存储器和系统存储器。
- 0x2000 0000 - 0x3FFF FFFF:SRAM区域。
- 0x4000 0000 - 0x5FFF FFFF:外设区域,包括各种外设寄存器。
- 0x6000 0000 - 0x9FFF FFFF:外部存储器区域。
- 0xA000 0000 - 0xDFFF FFFF:外设寄存器别名。
- 0xE000 0000 - 0xFFFF FFFF:系统控制空间,包括核心外设寄存器(如NVIC、SysTick等)。
内存映射示意图
STM32F103
+----------------------+-----------+
| Address Range | Description|
+----------------------+-----------+
| 0x0000 0000 - 0x0800 0000 | Main Flash Memory |
| 0x1FFF F000 - 0x1FFF F7FF | System Memory (Bootloader) |
| 0x2000 0000 - 0x2000 5000 | SRAM |
| 0x4000 0000 - 0x5006 3FFF | Peripheral Registers |
| 0x6000 0000 - 0x9FFF FFFF | External Memory |
| 0xE000 0000 - 0xE00F FFFF | Core Peripheral Registers |
+----------------------+-----------+
STM32F407
+----------------------+-----------+
| Address Range | Description|
+----------------------+-----------+
| 0x0000 0000 - 0x0800 0000 | Main Flash Memory |
| 0x1FFF 0000 - 0x1FFF 77FF | System Memory (Bootloader) |
| 0x2000 0000 - 0x2001 BFFF | SRAM1 |
| 0x2001 C000 - 0x2001 FFFF | SRAM2 |
| 0x4000 0000 - 0x5006 3FFF |