你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32系统结构经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-7 19:35
此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。
: i# Q; Q% z% c# d' b5 q9 @/ i) O7 t- _: }. h8 `& \2 ^
b5f2b2ff28c2412593e250526378eb52.png
# v8 T$ I& Q6 ?/ v$ |" ]0 z) 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

+ S8 Q, j: i1 i一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等/ C1 |% b9 }1 T" s+ u

2 S4 F8 ^3 H! g+ m' e- X1 A5 ~二,就是剩下的所有都是存储器。
, o* a& }+ i8 P7 a- A9 B* z5 l  F3 M

3 T( u- N6 Y% u9 e所以简单来说,STM32系统结构就是CPU和存储器组成。
* \" F9 {/ \- e+ B; B) i, w6 [* {8 d9 R
右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。' _' m# P$ h5 ~9 p) C. O

( x% v' v! g& p& R" i$ l6 b6 N3 X/ L  J
c96db8e459024029b5ace299df5d4d3a.png ! |0 G. V* k8 ?3 s

* B. q4 y# ~0 i; M) k+ L! R" \
CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。
# z+ ^) o$ ]9 _+ ?
; t0 z- Q$ o" t+ r( B. l5 h/ [. \
所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。
& P/ i$ j) x4 x* B2 t, \! G2 F
( J& ?+ w4 Q& l( Q. E' Q
黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。) e7 |& I& a3 \' Z  @4 s

, ]8 k5 e$ S: x4 E) I7 d4 x8 H' ]
内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。
5 y/ n) p8 j/ o: o3 f* d$ X( l! |1 }0 q2 V8 z
DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。
! w0 A8 i3 d0 L2 g$ j6 ^2 d
9 R" E6 X! x' O2 C
实际上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
0 n9 r+ J# c1 e/ ]如有侵权请联系删除2 S3 x# W  l$ k9 ]! i
9 Z3 o( I7 a2 n* {9 q4 p
赞 收藏 评论0 发布时间:2023-4-7 19:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版