stm32学习笔记(1)系统结构认识

利用此图大体了解32的工作过程

stm32学习笔记(1)系统结构认识


为了便于理解,下面对每个单元的原理功能做概略解释,如有错误,一定要指出来!

Cortex-m3: 这是一个32位的处理器,cpu而已,就像是大脑一样,要处理很多事情的

ICode总线:用于预取指令,如上图,它将内核总线和FLITF连接起来,FLITF是闪存指令接口,所以它要直接连到闪存flash,就像是笔记本的usb接口一样,插上u盘之后,计算机是如何读取u盘数据的,目前我也不懂,知道的大佬不妨用通俗的话说一说,等我明白了再来将这个地方补上。

DCode总线:与ICode相比,ICode是管指令的,那么DCode就是管数据的,它连接的是内核的DCode和flash的数据接口。

系统总线: 连接内核的系统总线(外设总线)到总线矩阵,为什么又称为外设总线?我的理解是外设利用系统总线访问cpu,不一定对。总线矩阵协调内核和DMA间的访问。

DMA     :  stm32里面有两个DMA控制器,如上图,DMA1有7个通道,DMA2有5个通道,它的功能就是在内存和I/O设备之间直接进行数据交换,无需cpu干预。cpu将DMA初始化,然后DMA接管总线的使用权,将所有的数据全部传入内存后,I/O设备的控制器才会发出中断,这句话也不理解。至于通道的意思,能执行有限通道指令的IO控制器,代替CPU管理控制外设。通道有自己的指令系统,是一个协处理器,我猜想,上面的I/O控制器是不是就是指通道里的IO控制器,它向cpu申请中断,然后处理数据,此时它与cpu应该是并行工作的。从图中还能看出每个DMA控制器都外接一条地址总线,一条数据总线

DMA 总线 :它将DMA的主控接口AHB与总线矩阵连接,这个总线矩阵要发挥作用,它要协调内核的DCode和DMA(类似于主处理器和协处理器之间的关系)对flash、SRAM(静态随机存取存储器)、外设的访问。

DMA通道相对应的外设表格如下:


stm32学习笔记(1)系统结构认识


stm32学习笔记(1)系统结构认识

---------------------------------------------------------------------------------------------------------------------------------

FSMC:  用来扩展各种类型的大容量静态存储器,在此图里是扩展SRAM。

SDIO总线  :连接主机与设备,具体也不清楚。