STM32系统结构理解

说明:此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。

STM32系统结构理解_第1张图片

 

 首先,我认为STM32系统结构就包括两部分。

一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等

二,就是剩下的所有都是存储器。

所以简单来说,STM32系统结构就是CPU和存储器组成。

右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。

STM32系统结构理解_第2张图片

 CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。

所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。

黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。

内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。

DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。

实际上DMA1那里还有一个AHB从设备,连接在右边AHB总线上,所以DMA既是主动单元,又是被动单元,DMA可以通过总线读写寄存器,而CPU也可以对DMA进行配置。

目前大致先写这些,还有些细节之后再补充。

你可能感兴趣的:(stm32,单片机,arm)