上QQ阅读APP看书,第一时间看更新
4.3 芯片里面有什么
我们看到的STM32芯片是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如同电脑上的CPU与主板、内存、显卡、硬盘的关系。
STM32F429采用的是Cortex-M4内核,内核即CPU,由ARM公司设计。ARM公司并不生产芯片,而是出售其芯片技术授权。芯片生产厂商,如ST、TI、Freescale,负责设计内核之外的部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设,如GPIO、USART(串口)、I2C、SPI等,具体见图4-3。
图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根总线。
图4-4 STM32F42xxx和STM32F43xxx器件的总线接口
图4-5 存储器映射