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

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

[复制链接]
STMCU小助手 发布时间:2022-5-8 18:00
CMSIS标准及库层次关系) q' b) p7 `6 x7 |( L# r0 {
0 _# a( ^& W; c$ d5 ]& g0 Y! N
因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准 (Cortex MicroController SoftwareInterface Standard)。, H" X8 }6 E" i' \) y

: [% ?3 |& R8 `% [  {) qCMSIS 架构
. X/ N' w6 s) E
: A: w2 e8 ?; V- Z 3I{CT]1_FXX}$)@4OWW({(L.png
2 a" M% B; b) Y. h+ n# n1 ^4 |- D$ J4 N/ v; n2 p% p
CMSIS 标准中最主要的为 CMSIS 核心层,它包括了:9 Q* ]# [) d$ A$ l
• 内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供。
! |$ Q1 ?) h( ?, }• 设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。) q4 _4 Q* e7 p
可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。STM32 的库,就是按照 CMSIS 标准建立的。
) c, b; _1 q% U; Z! F2 O. b" t0 c" L" X
Libraries 文件夹中CMSIS 文件夹
% L5 \2 l, \5 G1 L
3 }1 m9 r  H9 y" z) l$ s8 G {8Z`5YPK(PIHHQ9`JA]$P5H.png 7 J+ V0 s0 l# f- H0 S
) m- G  o- Y& A. u
写 STM32F4 的工程,必须用到其中的四个文件:core_cm4.h、core_cmFunc.h、corecmInstr.h、core_cmSimd.h。
) L9 W8 [1 m5 F; A* S* q% `/ _* i1 I- j+ w6 O8 P
PP7PWVWY`__ZTU%JCD3R8[3.png & `/ h5 N2 ^% }' \) G

' }4 y% C4 w  S0 X" R9 H" n3 w0 ^在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个外设对应一个.c 和.h 后缀的文件。
, F( U- p! z4 U, y) e2 c  o( y  {4 m3 c$ J) {
~W@6KC$OT3EW)`D%U9M.png 2 }4 Y( D5 I1 z' M$ Z3 ?; ]9 B
8 j6 M/ \! {5 Z/ F2 A. p
库的各文件间的关系
( Q: q0 d% Z5 ]0 ]$ Z1 I
3 e% _- E0 b# ~9 B) \3 G B8P~Q3WPTF}BO7HTHA)Q%1O.png
# }9 ?0 i" |0 x7 L, i% F) G
# P! c1 s0 y) w, _# `% f常用官方资料( P* R3 c) X" d" d2 |
) W& |. k( G, @: w
•《STM32F4xx 参考手册》
, S2 U% c8 N/ u; ]+ t& ^2 |- e这个文件全方位介绍了 STM32 芯片的各种片上外设,它把 STM32 的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对 STM32 的外设感到困惑时,可查阅这个文档。以直接配置寄存器方式开发的话,查阅这个文档寄存器部分的频率会相当高,但这样效率太低了。3 p2 k- f  g" M: W$ K

5 [; b6 d. m/ t9 I•《STM32F4xx 规格书》; S$ n: F0 j1 z1 m9 G
本文档相当于 STM32 的 datasheet,包含了 STM32 芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用 STM32 其它外设时,常常需要查找这个手册,了解外设对应到 STM32 的哪个 GPIO 引脚。
) l1 t: ^. Q! d* M+ n/ V
1 P, p( ?3 }& O6 ]( T•《Cortex™-M4 内核参考手册》0 h3 J( r4 H3 y
本文档由 ST 公司提供,主要讲解 STM32 内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx 参考手册》没涉及到的内核部分的补充。相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。  i* r; h7 ^' X6 u" ]0 P  b
: {, A( c- ?. C9 o% g. Y
•《Cortex-M3 权威指南》、《cortex_m4_Technical Reference Manual》。1 M  M. O8 M5 d, C# {
这两个手册是由 ARM 公司提供的,它详细讲解了 Cortex 内核的架构和特性,要深入了解 Cortex-M 内核,这是首选,经典中的经典,其中 Cortex-M3 版本有中文版,方便学习。因为 Cortex-M4 内核与 Cortex-M3 内核大部分相同,可用它来学习,而 Cortex-M4 新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。
; ^6 i( L; f" G& Y
# W- f% w' q% s3 U+ T8 R/ W- g•《stm32f4xx_dsp_stdperiph_lib_um.chm》( ]1 o' N! Q4 Y
这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。
0 Y3 b( I' t( B5 p) A, w: ?; W
, K) t2 _0 N- w. N- j
9 E* U: |( {2 n& n3 \
收藏 评论0 发布时间:2022-5-8 18:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版