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

基于STM32系统结构经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-7 19:35
此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。' p; s- \# K& Z; @2 Y( y3 A0 n) y
9 D4 K; N1 ]; n4 D+ k- h+ j
b5f2b2ff28c2412593e250526378eb52.png 7 n9 e- k& E" F) s

6 E/ {4 E  A+ W& f/ T  t
+ s3 e1 f$ Q9 q
首先,我认为STM32系统结构就包括两部分。, L! ~- n+ c  l8 {; S$ n& g- O
1 W  _  H. i; u& e% d" W
一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等! {3 t8 C3 ~5 q/ m5 S# ~
6 U/ R6 a0 e% q  q# {
二,就是剩下的所有都是存储器。
) ?7 b& n+ B6 g( R5 y# @/ B% E1 W0 P) g5 s: O
5 h5 J$ `8 Q+ h9 t, o9 o; Q
所以简单来说,STM32系统结构就是CPU和存储器组成。; b$ e9 }( U- w7 ?
. W( ?3 F* j% `' g1 f& U% i, E% K
右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。
; D9 a2 R1 P7 v, s. n0 T+ a3 \
. a! f" d+ H" U
c96db8e459024029b5ace299df5d4d3a.png
% n$ f- o; T5 L9 T4 W8 c
* q  c6 q9 g" b( p: X( w
CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。
+ @6 A8 }: {& a9 A! Q% T
! Z$ \4 P0 _1 T) v& g/ G
所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。# N- S) X) x0 G9 i8 m

/ d4 H, b% `8 q, f& B1 `
黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。( j$ N5 U% X4 P) _

# C6 \9 d- w4 c8 g( W. H
内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。
% R- j4 D/ t) Y3 Q! T4 b9 P+ [, p1 C) i, T
DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。
- y4 H2 k$ W' d) A3 a2 H0 f/ w; V, J7 a! x6 |) z, L
实际上DMA1那里还有一个AHB从设备,连接在右边AHB总线上,所以DMA既是主动单元,又是被动单元,DMA可以通过总线读写寄存器,而CPU也可以对DMA进行配置。
# Q8 `3 h. M2 V6 `0 X$ d( k8 D$ y
目前大致先写这些,还有些细节之后再补充。& z6 B3 B6 {1 ]* h4 W
————————————————5 Y0 C+ K7 M" y+ w" H8 F0 S5 C
版权声明:qsx156
- F$ t- I9 F# b9 j8 _如有侵权请联系删除# n; r# z) D7 z+ ]+ ?

& G' _$ r/ v! n: M& ~- h; \
赞 收藏 评论0 发布时间:2023-4-7 19:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

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