找回密码
 注册
关于网站域名变更的通知
查看: 255|回复: 3
打印 上一主题 下一主题

STM32必须掌握的内容

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-20 10:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
" ?# }& \6 |( E
STM32芯片架构
2 F$ e6 ~  B5 W7 o. v   STM32F103系列芯片的系统架构如下:
! J% b7 l+ U% D- E  c5 n# K7 U, c9 } 8 P( p6 j/ H& M; ]

5 ~  C7 Q1 h: d   STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令)、S(系统)、D(数据)三条信号线。内核通过总线矩阵与FLASH、SRAM、外设连接。而外设包括GPIO、USART、I2C、SPI等。% r6 p* L' Y( q$ _7 f7 B1 e0 x4 }9 M
STM32芯片系统结构
4 f5 R! J# q9 x' v8 X' e6 @STM32F103 系列芯片(不包含互联网型)的系统结构如下:6 I# U+ J, `+ W' x9 H

4 o( {) b# K. z1 M7 N& k- J
% h  K6 z5 ^# M6 g+ e9 C从上图可以看出,在小容量、中容量和大容量产品中,主系统由以下部分构
8 `$ I( {! [- w- y0 p  |4 {" z成:5 I; D! l0 [% \  b
    四个驱动单元:9 C; M' _! S2 s5 u" m+ I$ g8 V
1 ]& N3 Y& P" |
    Cortex-M3 内核 DCode 总线(D-bus)
  H3 n& M$ B, N8 |5 ?4 D) D
, K% i/ i5 r! s- X& U' ^3 V    Cortex-M3 内核系统总线(S-bus); C; B: s1 t* t1 x1 a! O$ N  g( N) X5 Z

6 M& }* ~( H/ U& X& O    通用 DMA1
  Y. ~( H1 o0 c( ?$ [
- U. e  }$ e6 ^8 u0 |1 t& s    通用 DMA2, G* N  H( k, C) M( d4 K

. f( b8 u; S( I  c. h    四个被动单元:
1 b+ o! e! p. j0 h  I& B2 |6 X7 E, ^% b2 V
    内部 SRAM: T  d0 t7 i8 Q0 E
: O# G  U3 v  f& b# E
    内部闪存存储器FLASH
7 g  B- |% F: v+ Z
' `, C/ b- ?! Z( I4 ?3 ~* L! W  t0 @    FSMC1 y3 h" S" a# t2 O0 P* ^2 R

# ?1 f/ |5 ^, {    AHB 到 APB 的桥(AHB2APBx),它连接所有的 APB 设备- ~" Y% E" @. i
. i. b8 P+ v( |* g5 X+ b, I
    这些都是通过一个多级的 AHB 总线构架相互连接的。下面我们看看它们各自的功能:
/ W8 ^7 K+ Q3 t3 ?- }; |; a  B& S, y$ @& i$ |3 v3 W3 J2 i$ F
    ICode 总线- Z9 ^9 F7 S3 |4 K' u
; _4 X  t0 H" F( {
    该总线将 Cortex-M3 内核的指令总线与闪存指令接口相连接。指令预取在此
3 `! M' \2 }4 s# O总线上完成。# b7 D3 h: Q9 O

! }- x( _4 m& m0 p& H5 g    DCode 总线  q/ Q' r( I  f2 W9 W
' N/ X7 d, ]' h3 m
    该总线将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
9 A% C3 G# K+ w$ ]3 }+ v7 |( u
% u, Z8 G7 ]& a- m5 f% m    系统总线3 g: d" z. _3 q3 D

0 H/ z& a+ e- k" h$ y6 A* Q    此总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵, 总线矩阵协调内核和 DMA 间的访问。! K  C+ G( S) @1 ]) G# \- E% B
; e/ L3 d" y* e; M" O8 z
    DMA 总线
$ ]9 _/ z  i4 n' G4 t+ ^" g
! n8 D9 [, D! O* U- ]6 y! _4 Z    此总线将DMA的AHB主控接口与总线矩阵相联, 总线矩阵协调着CPU的DCode和 DMA 到 SRAM、闪存和外设的访问。
. P0 L- s! R0 \! @( K
! {2 u1 r% P6 p/ n  a, ]    总线矩阵
3 {$ O  U0 M# @4 W8 L6 P
+ i! c8 O- s' F3 d- r2 x    总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁, 仲裁利用轮换算法。在互联型产品中,总线矩阵包含 5 个驱动部件(CPU 的 DCode、系统总线、以太网 DMA、 DMA1 总线和 DMA2 总线)和 3 个从部件(闪存存储器接口(FLITF)、SRAM 和 AHB2APB 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。2 I, j" y  P5 f! C) I1 s! K- v

+ v7 ~  O* h& e! B# z- w- d7 @    AHB/APB桥(APB)
3 {1 Z: m9 Z. J2 F3 h' J1 ^# z/ Y0 }7 u5 l2 P3 m
    两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射请参考《STM32F1xx 中文参考手册》存储器映像章节。在每一次复位以后,所有除 SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟。
6 t# R$ N+ N( [2 Q$ i- a  v5 y  t; `2 y   STM32F1 的时钟系统相对复杂,在后续文章中再介绍。
7 w" Z4 Q  ^6 q% _/ S; gSTM32学习进阶路径
5 r1 m. _  j5 `% o/ W4 Y% l+ _! c* k$ ], y2 j5 }7 ?2 s  d) E. f; B
    基本外设:# b% i, e) w: z6 l! P$ O* ?

" a. l2 |  V0 h. T6 B   GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门一款mcu了。3 l6 Y) w) n! m+ m& c; Y2 ?

6 T0 z; v- S/ ?! y- Y    基本外设接口:$ |! l) y( w9 b: S1 v. H
4 u( H2 E5 C6 k. `3 t5 A" P# V
   SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言就是多和少而已。
6 P$ O( l) ?# P  Y/ o4 G* N; r9 c; T4 D5 e. w! n
    高级功能:; O5 I. y/ ^3 q) H6 I
: A- V0 S: W! }+ Q5 A; F
   UCOS,fatfs,EMWIN 等,以及一些应用。# L2 Z" p; P. g0 g& W4 W
    另外值得一提的是,C 语言是嵌入式开发的基础中的基础,相关文章:C语言基础知识点汇总。如果 C 语言不过关,很大程度限制嵌入式学习的进度与深度。在这里推荐入门之后看一下关于c指针的书《C与指针》《C 指针编程之道》。学习嵌入式开发要多动手编程、多调试。

该用户从未签到

2#
 楼主| 发表于 2022-5-20 11:01 | 只看该作者
非常好的总结,感谢版主

该用户从未签到

3#
发表于 2022-5-20 13:14 | 只看该作者
非常好的总结,
+ `* {& d+ m1 a, |+ L6 F感谢||ヽ(* ̄▽ ̄*)ノミ|Ю

该用户从未签到

4#
发表于 2022-5-20 15:23 | 只看该作者
哦哦哦,\(^o^)/~
/ L" j6 `4 a. V) l1 W) i: d(~ ̄▽ ̄)~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 09:18 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表