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

【经验分享】STM32F429IGT6 固件库 CMSIS标准及库和STM32官方文档资料总结 (STM32F429/F767/H743)

[复制链接]
STMCU小助手 发布时间:2022-5-8 18:00
CMSIS标准及库层次关系
/ L) t* Y! S7 u% P! R5 u
3 d* M; j8 t$ |" f1 K因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准 (Cortex MicroController SoftwareInterface Standard)。3 `4 J" i/ a$ f6 p% N- k; F

8 D" ~& p. c! H( I1 v; bCMSIS 架构1 }' Y! ~5 H3 R  }

  Q. a7 m, f( z- B* j 3I{CT]1_FXX}$)@4OWW({(L.png * ~* Q2 f8 K  F$ O$ Z: B! x

$ o5 I" f3 ^6 nCMSIS 标准中最主要的为 CMSIS 核心层,它包括了:; q: M; U7 c8 M6 F7 y$ l/ k! v. L5 {
• 内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供。8 ^$ v" P* t1 V
• 设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。; t2 Y: L! m0 Z
可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。STM32 的库,就是按照 CMSIS 标准建立的。
9 f/ b1 X7 r2 S9 L, {' S3 G. c# }
Libraries 文件夹中CMSIS 文件夹4 S$ M( O! A' A* U) P
$ E+ y6 T8 i  e" V
{8Z`5YPK(PIHHQ9`JA]$P5H.png & K; Y0 n1 C/ ^4 @
6 B! e6 q. l/ X4 C: E# r
写 STM32F4 的工程,必须用到其中的四个文件:core_cm4.h、core_cmFunc.h、corecmInstr.h、core_cmSimd.h。
# Q: K: x( [1 O5 U. T
! ^: N  l* I; p& b" ~1 o PP7PWVWY`__ZTU%JCD3R8[3.png
: L  m$ x& p* _2 }3 z1 g3 M6 I& P  y4 I
在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个外设对应一个.c 和.h 后缀的文件。9 y' Y7 v, d0 ^: j* N& x) _
% I. C& [8 n1 H4 K, h% m
~W@6KC$OT3EW)`D%U9M.png
8 B2 t! S, N5 r/ K% u/ ]! H; Y" a+ U1 w4 X, I- N
库的各文件间的关系+ C4 d4 g) L  w

9 B( W, h/ V: B. ^; P! v( y3 R2 N B8P~Q3WPTF}BO7HTHA)Q%1O.png 3 S+ z/ F7 |; [' l
/ a9 z% `- b7 T4 z
常用官方资料
- d" S1 }+ C% M+ L6 k/ B
! i; S* l; m' @, k$ c0 k0 ?•《STM32F4xx 参考手册》
9 M8 {- W( v7 e) y* J) u这个文件全方位介绍了 STM32 芯片的各种片上外设,它把 STM32 的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对 STM32 的外设感到困惑时,可查阅这个文档。以直接配置寄存器方式开发的话,查阅这个文档寄存器部分的频率会相当高,但这样效率太低了。
$ R3 H' d) K; j' g. Y" `; Z
: M, |2 h2 \6 `5 ^$ d7 E/ U  ~•《STM32F4xx 规格书》
7 R. Z) g$ }; I* v3 V3 J) [- M+ d本文档相当于 STM32 的 datasheet,包含了 STM32 芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用 STM32 其它外设时,常常需要查找这个手册,了解外设对应到 STM32 的哪个 GPIO 引脚。
0 B; O5 m  E4 F) t: d
+ V& U4 `& X% G7 z: i: J•《Cortex™-M4 内核参考手册》! K& f6 a/ e, e' h3 e! Z! E
本文档由 ST 公司提供,主要讲解 STM32 内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx 参考手册》没涉及到的内核部分的补充。相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。- {. V5 [$ K7 h" f7 q: _! x

2 {+ X6 i* f) `8 T5 M9 q•《Cortex-M3 权威指南》、《cortex_m4_Technical Reference Manual》。
8 C# b) s& z4 p这两个手册是由 ARM 公司提供的,它详细讲解了 Cortex 内核的架构和特性,要深入了解 Cortex-M 内核,这是首选,经典中的经典,其中 Cortex-M3 版本有中文版,方便学习。因为 Cortex-M4 内核与 Cortex-M3 内核大部分相同,可用它来学习,而 Cortex-M4 新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。: i7 @0 m3 N+ \5 j  V
% }4 A0 ?) }/ J  O
•《stm32f4xx_dsp_stdperiph_lib_um.chm》
8 J' z& R1 w  C$ a1 l这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。, E9 F7 I- b( X, C: I) S
% J; l( N* ?3 E7 e) `9 Q2 l! c

) X! Z- D% U! f/ `
赞 收藏 评论0 发布时间:2022-5-8 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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