stm32主要由内核和片上外设组成。与电脑相比,内核就当于cpu,外设相当于主板、内存、显卡、硬盘。
片上外设有GPIO、USART、I2C、SPI。
驱动单元
ICode总线 内核通过ICode总线来粗去存放在flash中的指令
DCode总线 常量放在flash中,变量放在SRAM中
System总线 用来访问外设的寄存器
DMA总线 主要用来传输数据。DCode和DMA都能用来传输数据,在取数的时候通过总线矩阵来决定哪个总线取数
被动单元
闪存存储器(flash) 用来存放编写好的程序
SRAM 程序的变量,堆栈等开销
FSMC 用来扩展静态内存
AHB到APB的桥
存储器映射
被动单元Flash、RAM、FSMC、和AHB到APB的桥,这些功能部件共同排列在一个4GB的地址空间中。在编程的hi后,可以通过地址找到它们,进而操作它们。在这4GB的地址空间中,ARM将它平均分成了8个块,每个块也规定了用途。