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

STM32入门系列-学习STM32要掌握的内容

[复制链接]
flyingstar 发布时间:2025-9-25 15:43
STM32芯片架构
  o  _/ t8 V! m- O# i
    STM32F103系列芯片的系统架构如下:0 L6 A8 M8 N1 x6 L1 {
微信图片_2025-09-25_154118_216.jpg
2 o2 E' {: M! `* ^3 I, D    STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令)、S(系统)、D(数据)三条信号线。内核通过总线矩阵与FLASH、SRAM、外设连接。而外设包括GPIO、USART、I2C、SPI等。
* R4 @5 A5 x1 h" y
STM32芯片系统结构    STM32F103 系列芯片(不包含互联网型)的系统结构如下: 微信图片_2025-09-25_154122_718.jpg ) [4 T2 Z! k% ?; b% m( ]# M
    从上图可以看出,在小容量、中容量和大容量产品中,主系统由以下部分构成:    四个驱动单元:
  • Cortex-M3 内核 DCode 总线(D-bus)
  • Cortex-M3 内核系统总线(S-bus)
  • 通用 DMA1
  • 通用 DMA2; g, H5 @2 r) O" C% S9 v& o) u
    四个被动单元:
  • 内部 SRAM
  • 内部闪存存储器FLASH
  • FSMC
  • AHB 到 APB 的桥(AHB2APBx),它连接所有的 APB 设备
    3 L0 e4 O+ U+ P8 M! P/ B4 R
    这些都是通过一个多级的 AHB 总线构架相互连接的。下面我们看看它们各自的功能:
  • ICode 总线
    % r3 o4 A# n  j2 }- |3 g

, |2 f3 O# k' j7 r7 B/ B0 @) B# U# D% Y/ x/ F9 w- u" O
! \, @, n% \! _! L2 p% q
   该总线将 Cortex-M3 内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
  • DCode 总线
    # T8 x& q' S* A7 \
    该总线将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
  • 系统总线( k$ B" E  C/ [6 L; n
    此总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵, 总线矩阵协调内核和 DMA 间的访问。
  • DMA 总线3 x' k; ]$ ?! x' ]+ z
    此总线将DMA的AHB主控接口与总线矩阵相联, 总线矩阵协调着CPU的DCode和 DMA 到 SRAM、闪存和外设的访问。
  • 总线矩阵
    ! i9 Z, z" ?% g% S' E/ y- v; m
    总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁, 仲裁利用轮换算法。在互联型产品中,总线矩阵包含 5 个驱动部件(CPU 的 DCode、系统总线、以太网 DMA、 DMA1 总线和 DMA2 总线)和 3 个从部件(闪存存储器接口(FLITF)、SRAM 和 AHB2APB 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。
  • AHB/APB桥(APB)
    & W/ W' ]7 e0 n& i# b" S

& D; n) ~6 N( Y. r* L4 p' f8 h2 K) o5 E, q  U. C9 b( n

+ Y9 x+ j8 _0 D; l# j+ x8 b+ p: E/ H" f+ I  [
   两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射请参考《STM32F1xx 中文参考手册》存储器映像章节。在每一次复位以后,所有除 SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟。    STM32F1 的时钟系统相对复杂,在后续文章中再介绍。STM32学习进阶路径
  • 基本外设:
    9 k" r! }8 _7 ~+ p0 p$ J. T4 s  w6 n* a
    GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门一款MCU了。
  • 基本外设接口:
    ' X* D9 U( w/ x
    SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言就是多和少而已。
  • 高级功能:3 S/ T6 s& L( K6 H' f5 f& u7 _
    UCOS,FATFS,EMWIN 等。以及一些应用。    另外值得一提的是,C 语言是嵌入式开发的基础中的基础。如果 C 语言不过关,很大程度限制嵌入式学习的进度与深度。在这里推荐3本书学习C语言,刚开始可以参看谭浩强的《C程序设计第四版》,入门之后看一下关于C指针的书《C 与指针》《C 指针编程之道》。学习嵌入式开发要多动手编程、多调试,遇到问题也可以加微信hzplwbs入群交流,在力所能及的范围内会抽时间与大家交流、反馈,与君共勉!
1 d8 U$ f& E3 u5 A& Q( n* K8 X) e) A  M" g( a0 U
赞 收藏 评论0 发布时间:2025-9-25 15:43

举报

0个回答

所属标签

相似技术帖

官网相关资源

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