|
此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。 / i) O7 t- _: }. h8 `& \2 ^
) e1 P0 O$ Z4 e* A$ `' i6 Y' R ' I, L9 z# x1 |' g0 a 首先,我认为STM32系统结构就包括两部分。2 g$ j( @7 l- d% T" j$ b 一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等/ C1 |% b9 }1 T" s+ u 二,就是剩下的所有都是存储器。 7 a- A9 B* z5 l F3 M 所以简单来说,STM32系统结构就是CPU和存储器组成。 + B; B) i, w6 [* {8 d9 R 右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。' _' m# P$ h5 ~9 p) C. O
CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。 所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。 黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。) e7 |& I& a3 \' Z @4 s 内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。 * d$ X( l! |1 }0 q2 V8 z DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。 实际上DMA1那里还有一个AHB从设备,连接在右边AHB总线上,所以DMA既是主动单元,又是被动单元,DMA可以通过总线读写寄存器,而CPU也可以对DMA进行配置。( _ d) F! C9 y; `4 k& K/ g : d( i) h1 B4 A; K) w4 ~' w5 U 目前大致先写这些,还有些细节之后再补充。/ n/ H, N0 t" G" K/ _9 l$ ~ ————————————————2 g8 t& M/ q, q 版权声明:qsx156 如有侵权请联系删除2 S3 x# W l$ k9 ]! i 9 Z3 o( I7 a2 n* {9 q4 p |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版