STM32F10XX存储器细节

时间:2021-03-26 00:13:37

>> STM32F10XX系统架构

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被选为启动区域