STM32整体芯片内部结构如图1所示:
Cortex-M3是内核,AHB总线这是贯穿所有外设的一条总线,AHB经过桥接,由APB1,APB2控制着几乎所有的外设;这里记住的重点是,APB1属于高速设备,最大时钟频率可以达到72MHz;APB2属于高速设备,最大时钟频率可以达到36MHz;。在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
结合CubeMX时钟树的配置,理解配置时钟的原理。
STM32 主系统主要由四个驱动单元和四个被动单元构成。
四个驱动单元是:
内核 DCode 总线;
系统总线; 通用 DMA1;
通用 DMA2;
四被动单元是:
AHB 到 APB 的桥:连接所有的 APB 设备;
内部 FlASH 闪存;
内部 SRAM;
FSMC;
1.Cortex-M3内核: 内核是单片机的中央处理器单元,32位处理器内核, 采用哈佛架构。拥有独立的指令总线和数据总线,取指与数据访问可以同时进行;内核中包含寄存器组、NVIC、中断和异常、储存器映射、总线接口、调试支持、指令集;详细参考https://blog.csdn.net/bulebin/article/details/74093147
2.片上/内置SRAM;相当于电脑内存,STM32F10xxx内置64K字节的静态SRAM。它可以以字节、半字(16位)或全字(32位)访问。SRAM的起始地址是0x2000 0000。
片上SRAM启动:从内置SRAM启动(0x2000 0000-0x3FFFFFFF),既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。
3.Flash:嵌入式闪存;512K字节闪存存储器结构:闪存存储器有主存储块和信息块组成;
4.AHB系统总线:它连接所有的APB设备,这些都是通过一个多级的AHB总线构架相互连接的,闪存的指令和数据访问是通过AHB总线完成的。
5.桥接1和桥接2:两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。在APB1上面,挂的外设有定时器2~7,串口USART2-3,UART4-5;在APB2上面,挂的外设有定时器1和定时器8,GPIO的8组端口寄存器,异步串行USART1;