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

基于STM32系统结构经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-7 19:35
此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。: r6 i9 S7 V9 V* Q
1 h* R3 Y: p7 ^( V* E, G8 i- x% e
b5f2b2ff28c2412593e250526378eb52.png
5 q6 x& G5 [# Q# d
1 ^1 }% T. W: r0 }& d: _; k
9 L; `/ X1 P8 n% T  R$ P; A
首先,我认为STM32系统结构就包括两部分。
8 ?# a& ]! n: I

' O! i, H3 [4 X, k1 J' k& F/ y7 l一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等
- w! p( n. U+ K4 G4 t4 R( x; o3 \1 y0 K. R

7 ^/ \2 v  s: I5 k5 t; `5 n二,就是剩下的所有都是存储器。
- }1 {% x, X9 h) Y% F# B+ Z  {$ a5 C* l# e7 S& a

; P( p" Z, X7 L' t所以简单来说,STM32系统结构就是CPU和存储器组成。$ B3 W2 A) R3 F" K! t
* \1 X( V0 W% Q  y# `7 C
右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。! M6 M* e2 e  T$ [

$ {) i  `0 `+ n- o7 S+ O1 }
c96db8e459024029b5ace299df5d4d3a.png
5 U, T  Y1 x: H* f& S5 i! D3 Z; `/ v
" [, A4 m/ q1 W2 P' e0 |
CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。
' ]2 \5 x1 R3 c$ m2 u
! f* x' {1 L3 v( r3 h
所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。
0 W& l; v& f6 m3 Z0 D0 b( \+ Y% t3 E+ A8 c7 v* q0 V9 ^. ]! i7 w
黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。8 j) V5 b% a& r' ?( {9 }& b+ @
: N( [; D6 h+ _6 r
内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。
- ?$ `8 q1 Q# B; k1 ~. _  S( S- H8 D- ]: @
DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。
8 p& f! G7 y! Y- b% H
0 u1 E/ o, D5 X
实际上DMA1那里还有一个AHB从设备,连接在右边AHB总线上,所以DMA既是主动单元,又是被动单元,DMA可以通过总线读写寄存器,而CPU也可以对DMA进行配置。+ e+ s$ C0 ~1 q& ^( \" W

$ c9 p2 ]6 s( R5 y) W  D
目前大致先写这些,还有些细节之后再补充。( s% Y, i& i" h5 \! W1 `) {' _2 ~: S
————————————————
- _+ G& S2 L" V% m1 d6 J4 [- Z版权声明:qsx1566 I* h+ T. y6 x
如有侵权请联系删除
4 `# _$ u: L& H1 C5 h! G2 j# j6 a5 c# S  b  s3 z+ W! r
收藏 评论0 发布时间:2023-4-7 19:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版