- STM32库开发实战指南:基于STM32F4
- 刘火良 杨森
- 489字
- 2024-12-21 04:22:18
4.3 芯片里面有什么
我们看到的STM32芯片是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如同电脑上的CPU与主板、内存、显卡、硬盘的关系。
STM32F429采用的是Cortex-M4内核,内核即CPU,由ARM公司设计。ARM公司并不生产芯片,而是出售其芯片技术授权。芯片生产厂商,如ST、TI、Freescale,负责设计内核之外的部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设,如GPIO、USART(串口)、I2C、SPI等,具体见图4-3。
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0034_0001.jpg?sign=1738829863-KGvU0y7IZebjOic6xp66QXmN0tVEuHBj-0-b480bb682b42c278da56d32d53f08deb)
图4-3 STM32芯片结构简图
芯片和外设之间通过各种总线连接,其中主控总线有8条,被控总线有7条,具体见图4-4。主控总线通过一个总线矩阵来连接被控总线,总线矩阵用于主控总线之间的访问仲裁管理,仲裁采用循环调度算法。总线交叉时,用圆圈表示可以通信,否则表示不可以通信。比如S0:I总线只有跟M0、M2和M6这3根被控总线交叉的时候才会用圆圈,表示S0只能跟这3根被控总线通信。从功能上来理解,I总线是指令总线,实现取指功能,指令指的是编译好的程序指令。我们知道,STM32有3种启动方式:从Flash启动(包含系统存储器),从内部SRAM启动,从外部RAM启动。这3种存储器刚好对应的就是M0、M2和M6这3根总线。
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0034_0002.jpg?sign=1738829863-wzqRz8mDoKuSu7UT2tjfHKgfhVavqJjN-0-d9c118526fc4bf749dbf49d616732dff)
图4-4 STM32F42xxx和STM32F43xxx器件的总线接口
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0035_0001.jpg?sign=1738829863-ERJONIlXejBLwzW31FcT6cBOi4tNhyVu-0-e4c4126f6af3f1999bd59a5a6090868b)
图4-5 存储器映射