1 STM32 系统结构 要想深刻理解STM32 的存储器,需要首先知道STM32 的系统结构
如 Figu re 1,是 STM32 系统结构框图
根据 STM32 Reference manu al (RM0008)中的描述,如图: 可以得知STM32 系统结构的组成,每一个模块更为详细的内容,请参考相关文档
RM0008 文档中可以看出,STM32 采用的是Cortex -M3 内核,因此,有必要了解Cortex -M3 的存储器结构
图中还可以看出,Cortex -M3 是通过各个总线和Flash、SROM 相连接的
2 STM32 内核(Cortex -M3)的结构 以下是Cortex -M3 模块框图: 该Cortex -M3 内核通过I-Code、D-Code、Sy stem 总线与 STM32 内部的 Flash、SROM 相连接的,该种连接情况直接关系到 STM32 存储器的结构组织;也就是说,Cortex -M3 的存储器结构决定了 STM32 的存储器结构
这里可能说的比较笼统,可以这样理解:Cortex -M3 是一个内核,自身定义了一个存储器结构,ST 公司按照 Cortex -M3 的这个存储器定义,设计出了自己的存储器结构;但是 ST 公司的 STM32 的存储器结构必须按照 Cortex -M3 这个定义的存储器结构来进行设计
举个例子: 我买了一个做饭的调料盒子,有三块区域(假设存储器分为3 块),上面分别标有盐(Flash)、糖(SROM)、味精(Peripheral);此时,该调料盒子并没有任何意义(对应 Cortex -M3 内核);我按照标签放入特定品牌、特定分量的盐(Flash)、糖(SROM)、味精(Peripheral ),产生一个有实际意义的调料盒(各类 Cortex -M3 内核的芯片,如 STM32)