>> STM32F10XX系统架构
>> 程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。
>> 数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字节,而最高
地址字节是最高有效字节。
>> STM32F10xxx内置64K字节的静态SRAM。它可以以字节、半字(16位)或全字(32位)访问。
SRAM的起始地址是0x2000 0000。
>> 闪存模块
------------------
小容量 | 32K
中容量 | 128K
大容量 | 512K
互联型 | 256K
0x0800 0000 - 0x0800 7FFF 主存储块 32K,32页(0-31), 1K/页(小容量产品16K-32K)
0x0800 0000 - 0x0801 FFFF 主存储块 128K,128页(0-127), 1K/页(中容量产品64K-128K)
0x0800 0000 - 0x0807 FFFF 主存储块 512K,256页(0-255), 2K/页(大容量产品256K-512K)
0x0800 0000 - 0x0803 FFFF 主存储块 256K,127页(0-127), 2K/页(互联容量产品F105X或者F10XX)
>> 系统存储器
系统存储器 0x1FFF F000 - 0x1FFF F7FF 2K (小、中、大容量)
系统存储器 0x1FFF B000 - 0x1FFF F7FF 18K (互联型)
>> 在启动延迟之后, CPU从地址0x0000 0000获取堆栈顶的地址,并从启动存储器的0x0000 0004指示的
地址开始执行代码。
从主闪存存储器或者系统存储器启动,都可以从0x00000000地址处重映射启动,但是SRAM只能在
0x20000000开始处启动,还必须注意重映射向量表到SRAM中。
>> 等待周期体现了系统时钟(SYSCLK)频率与闪存访问时间的关系:
0等待周期,当 0 < SYSCLK < 24MHz
1等待周期,当 24MHz < SYSCLK ≤ 48MHz
2等待周期,当 48MHz < SYSCLK ≤ 72MHz
>> 闪存编程一次可以写入16位(半字)。
闪存擦除操作可以按页面擦除或完全擦除(全擦除)。全擦除不影响信息块。
>> 启动模式选择引脚
BOOT1 BOOT0 说明
X 0 主闪存存储器 主闪存存储器被选为启动区域
0 1 系统存储器 系统存储器被选为启动区域
1 1 内置SRAM 内置SRAM被选为启动区域