STM32是指令和数据共用相同的地址空间,即程序存储器、数据存储器、寄存器和I/O端口在一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中,一个字的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。
一、STM32存储器架构
4G的地址空间即地址编码的范围,编码就是对每一个程序存储、数据存储器、寄存器和I/O端口分配唯一的地址编码,即“编址”或“地址映射”。
存储器映射是把芯片中或芯片外的Flash、RAM、外设、BOOTBLOCK等进行统一编址。
STM32的寻址空间大小为4G,也就是从0x0000 0000~0xFFFF FFFF这一块空间,分为8个主要块,每个块为512MB。
地址范围:
0x0000 0000 0x2000 0000 | 根据启动引脚决定哪个存储空间被映射到此处 |
0x2000 0000 0x4000 0000 | SRAM区,64k,其中位带别名区首地址为0x2200 0000 |
0x4000 0000 0x6000 0000 | 用于片内外设,外设存储器的别名区首地址0x4200 0000 |
0x6000 0000 0x8000 0000 | \ |
0x8000 0000 0xA000 0000 | 片上Flash存储区,512MB |
0xA000 0000 0xC000 0000 | \ |
0xC000 000 |