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

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

[复制链接]
STMCU小助手 发布时间:2022-5-8 18:00
CMSIS标准及库层次关系
: u; O4 N2 {& {0 Y( D' p9 M! D2 S2 }, c# R1 P
因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准 (Cortex MicroController SoftwareInterface Standard)。- N! k0 M; \- e4 Q% }
/ a) z# |7 J5 Y* V8 {* L
CMSIS 架构
+ @! p" H8 v$ p+ v; e& S6 i9 O, |7 _- @7 ?; \! W6 J: Z
3I{CT]1_FXX}$)@4OWW({(L.png
# ?+ x8 k2 z) K- O( y- D  q
$ W0 F6 _: j9 PCMSIS 标准中最主要的为 CMSIS 核心层,它包括了:
; X6 {& J# l$ X% c, s• 内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供。# j' |, K/ t7 |4 h' v
• 设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。+ i) G. K9 \3 Z/ P5 j. G: @3 {
可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。STM32 的库,就是按照 CMSIS 标准建立的。
0 g" i) {9 Z9 z* V. G  K( n' j9 ?: v
! Q& G* V3 V3 |Libraries 文件夹中CMSIS 文件夹
+ F  F7 E2 g4 V+ L( X4 p; C, V9 X, G* b& q
{8Z`5YPK(PIHHQ9`JA]$P5H.png 6 e3 o6 u2 N; p  n* y
5 v% y/ @6 ^. E8 ?% x: \8 a" Q- L$ i
写 STM32F4 的工程,必须用到其中的四个文件:core_cm4.h、core_cmFunc.h、corecmInstr.h、core_cmSimd.h。
% e( [0 s7 F& l6 n  s9 F
, E' k5 j' F" A  [& b, X PP7PWVWY`__ZTU%JCD3R8[3.png
8 V6 ?1 E4 u! j- r6 a8 D" _5 k7 y7 m2 |$ {2 c
在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个外设对应一个.c 和.h 后缀的文件。
2 W3 X9 _' s  g' f/ l2 K' @( y  B; C( v& o& M2 r, v  O
~W@6KC$OT3EW)`D%U9M.png
  w# H& r; o5 a# I, F! x! D5 }
* y3 Y6 z0 i. l+ {库的各文件间的关系
6 R# F0 d0 x5 @0 D! O
4 a. k4 E, \9 K- o  J: k B8P~Q3WPTF}BO7HTHA)Q%1O.png 7 }+ ]- u' I# G" g  ~1 L

! [3 }- f( n: q( g1 a常用官方资料, Q( T( T5 o6 [9 N5 z% L# J

; A9 y* G" U+ z! g8 n•《STM32F4xx 参考手册》
( ]0 s" [- O1 @7 h0 \* w9 G这个文件全方位介绍了 STM32 芯片的各种片上外设,它把 STM32 的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对 STM32 的外设感到困惑时,可查阅这个文档。以直接配置寄存器方式开发的话,查阅这个文档寄存器部分的频率会相当高,但这样效率太低了。
+ ~2 I  A8 i) w/ ^
! J5 e. F3 f* S: m  t2 Q2 f# B! {•《STM32F4xx 规格书》; A  P, q) x5 h- k0 d! r' ^
本文档相当于 STM32 的 datasheet,包含了 STM32 芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用 STM32 其它外设时,常常需要查找这个手册,了解外设对应到 STM32 的哪个 GPIO 引脚。
( R1 `5 y+ I$ B$ m0 d2 z) }: q9 ?2 a/ A+ g* F' J! W
•《Cortex™-M4 内核参考手册》
# B" v( i+ j; N7 b4 R本文档由 ST 公司提供,主要讲解 STM32 内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx 参考手册》没涉及到的内核部分的补充。相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。, k4 E1 \' M5 I, W

7 a& f- Y0 ]" ]: J* c•《Cortex-M3 权威指南》、《cortex_m4_Technical Reference Manual》。7 y5 U& K" d0 d$ D7 H1 C7 L
这两个手册是由 ARM 公司提供的,它详细讲解了 Cortex 内核的架构和特性,要深入了解 Cortex-M 内核,这是首选,经典中的经典,其中 Cortex-M3 版本有中文版,方便学习。因为 Cortex-M4 内核与 Cortex-M3 内核大部分相同,可用它来学习,而 Cortex-M4 新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。
3 l! j/ ]' f! T+ x6 V$ o# ]" h5 p- \" C- h1 Z$ }  s4 i2 M
•《stm32f4xx_dsp_stdperiph_lib_um.chm》4 k! H2 u$ a+ R+ l1 Z5 `; |, B& }
这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。
4 |; X3 L3 S- J! f* Q$ u
6 |& J! q; S0 I* |& r% I0 c
5 Q( O6 |+ `/ r" {6 W! y& L
收藏 评论0 发布时间:2022-5-8 18:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版