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

基于STM32系统结构经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-7 19:35
此文仅表示自己对STM32系统结构架构的理解,有所不足与谬误希望各位大佬斧正。
/ \# w  j+ r6 Z4 |$ I, C! Z+ r- @& i/ v
b5f2b2ff28c2412593e250526378eb52.png 0 j' q  c9 E+ y" O( o  R
$ A8 f/ |8 m) P  [

! w- t8 D' l% U5 K" Q1 d 首先,我认为STM32系统结构就包括两部分。5 _4 }: G" J8 H% C9 w8 h8 _+ E
2 F+ [9 d4 Y7 c
一,就是左上角Cortex-M3的内核,里面有CPU和内核外设等
5 p( k! X5 d  D0 j' }9 W
/ D+ F& G3 G4 T2 f7 L/ L7 h- ?
二,就是剩下的所有都是存储器。
7 X' X; b( ?: G- M2 {' L' T
( p& n- T6 m- @. N; \$ T
& _  \/ ~% S, C; y& M  D
所以简单来说,STM32系统结构就是CPU和存储器组成。. D" `6 w- G) @' S7 ^

& j( |" s0 S5 y7 H; [' S/ J- f右边从上到下,分别是 Flash主闪存,SRAM运行内存,和各种外设,但各种外设都可以看作寄存器,但寄存器也是一种特殊的存储器,可以看成一种SRAM存储器。* v5 C4 T1 [2 c5 l  W5 c, F) A
5 {9 n5 h  G7 w5 E) a( f# x
c96db8e459024029b5ace299df5d4d3a.png ; y' S2 Y+ @6 @
7 y( @2 q+ `" N" w- n: F5 |
CPU可以对寄存器进行读写,寄存器每位后面连接一根导线,这些导线可以控制外设电路状态,例如导通和断开开关,对引脚置高低电平,切换数据选择器,或者多位结合当计数器等等。
% ]; f. p7 ]: ]2 s. ]+ f7 ~& T  g2 F$ z1 K# T$ `4 L
所以寄存器是连接软件和硬件的桥梁!软件对寄存器的控制就相当于对硬件电路的控制。
( p, Q# @0 d3 b1 J3 N, Y& m' u) Q& `, K& X0 A3 o
黄色圈内是总线矩阵,总线矩阵左边拥有对存储器的访问权,就是主动单元,右边是被动单元,他们的存储器只能被左边的的主动单元读写。# p  ?7 C9 [7 g( h3 i  z
2 {& q. ^6 O, S) w6 U0 ]: g3 l" M3 U
内核通过DCode总线专门访问Flash,内核通过系统总线访问SRAM和寄存器。
; a. A1 `; _8 C* a7 ], ]
8 d% _$ u. i, ]5 ]+ _! R
DMA是进行数据转运的,减轻CPU负担,也是主动单元,有访问的主动权,如图可以看到DMA1和DMA2各有一条总线,实际上还有一条以太网私有的DMA总线图上没显示。- I! z6 [3 a4 e# V8 |& ?
/ g/ p( r- u9 N% ]# j
实际上DMA1那里还有一个AHB从设备,连接在右边AHB总线上,所以DMA既是主动单元,又是被动单元,DMA可以通过总线读写寄存器,而CPU也可以对DMA进行配置。6 m: h" z& h% [. x
% D! {$ M# ~1 j% y0 W; ~
目前大致先写这些,还有些细节之后再补充。
# w8 @4 v" ]4 N  s: }————————————————
9 k  B; b& P7 P. v- T. ?& k+ }! ^/ X% T版权声明:qsx156# F% M4 ]6 q' H+ y2 d
如有侵权请联系删除
. }* ]& _! c  Q, Z5 n( w+ f, S- z: x: i
收藏 评论0 发布时间:2023-4-7 19:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

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