问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

蓝桥杯嵌入式备赛指南:STM32基础知识详解

创作时间:
作者:
@小白创作中心

蓝桥杯嵌入式备赛指南:STM32基础知识详解

引用
CSDN
1.
https://blog.csdn.net/qq_51405411/article/details/145436924

本文是关于蓝桥杯嵌入式竞赛中STM32基础知识的备赛指南,详细介绍了STM32芯片的命名规则、内部结构、时钟系统配置、内部资源地址以及不同编程库的使用。文章内容专业且深入,适合有一定嵌入式系统基础的读者阅读。

一、芯片命名规则

如上图所示,为stm的命名规则。这里,以STM32G431RBT6这个芯片为例进行说明:

(1)STM32:ST表示为公司名——意法半导体,M表示的是微控制器,32表示CPU有32根地址线,是32的控制器,理论上可以寻址4GB的地址。

(2)G431:G表示产品类型,F为基础型,而G是支持DSP和FPU指令的可适用于混合信号应用的产品,431为特定功能数字。

(3)R:为CPU引脚数,R表示有64/66引脚。

(4)B:表示闪存容量,B表示有128K字节大小。

(5)T:封装类型, H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。

(6)6:温度范围。

二、STM32芯片内部结构与Cortex-M内核

1、STM32芯片内部结构

  STM32芯片为SOC,包括:Cortex-M内核、调试系统、总线存储器和片内外设,其中cortex内核和调试系统是由ARM公司负责涉及,其他芯片制造商购买知识产权之后设计芯片。

2、Cortex-M内核

  Cortex-M内核为绿色框中内容,主要包括:中断控制器、调试系统、取指、译码、执行、寄存器组。

3、STM32G431RBT6内部资源和模块框图

  该内容在STM32G4系列微控制器参考手册的1.5节—— Availiability of peripherals。

  该内容在STM32G431RB数据手册2中的Figure 1。

三、时钟系统配置

  该内容在STM32G4系列微控制器参考手册的7.2节—— Clocks。

四、STM32内部资源地址(存储空间)

1、flash起始地址:0x0800 0000

2、SRAM起始地址:0x2000 0000

3、外设起始地址:0x4000 0000

五、HAL库、LL库、标准库编程和寄存器编程

1、HAL库:ST官方推崇的新编程库;HAL是Hardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。HAL使用了比较大的Flash和SRAM。

2、LL库(Low Layer):是ST最近新增的库,与HAL捆绑发布,文档也是和HAL文档在一起的LL库更接近硬件层,对需要复杂上层协议栈的外设不适用,直接操作寄存器。其支持所有外设。使用方法:独立使用,该库完全独立实现,可以完全抛开HAL库,只用LL库编程完成。在使STM32CubeMX生成项目时,直接选LL库即可。如果使用了复杂的外设,例如USB,则会调用HAL库混合使用,和HAL库结合使用。编译后LL库只有HAL库的33%体积。

3、标准固件库:旧版本编程库;HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了

4、寄存器编程:原始底层编程。HAL库和标准库就是ST官方对寄存器编程进行人性化封装后的产物。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号