一.stm32系统结构
STM32主系统主要由四个驱动单元和四个被动单元构成。
四个驱动单元是:(图中②③④)
①内核DCode总线
②系统总线
③通用DMA1
④通用DMA2
四个被动单元是:(图中⑥⑦⑧⑨)
①AHB到APB的桥:连接所有的APB设备
②内部flash闪存
③内部SRAM
④FSMC
图中几个总线的知识:
①ICode总线:该总线将M3内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。
②DCode总线:该总线将M3内核的DCode总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。
③系统总线:该总线连接M3内核的系统总线到总线矩阵,总线矩阵协调内核和DMA间访问。
④DMA总线:该总线将DMA的AHB主控接口与总线矩阵相连,总线矩阵协调CPU的DCode和DMA到SRAM,闪存和外设的访问。
⑤总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。
⑥AHB/APB桥:这两个桥在AHB和2个APB总线间提供同步连接,APB1操作速度限于36MHz,APB2操作速度全速(72MHz)。
Cortex-m3: 这是一个32位的处理器,cpu而已,就像是大脑一样,要处理很多事情的
ICode总线:用于预取指令,如上图,它将内核总线和FLITF连接起来,FLITF是闪存指令接口,所以它要直接连到闪存flash,就像是笔记本的usb接口一样,插上u盘之后,计算机是如何读取u盘数据的,目前我也不懂,知道的大佬不妨用通俗的话说一说,等我明白了再来将这个地方补上。
DCode总线:与ICode相比,ICode是管指令的,那么DCode就是管数据的,它连接的是内核的DCode和flash的数据接口。
系统总线: 连接内核的