CMSIS标准及库层次关系

因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的 Cortex 微控制器软件的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准 (Cortex MicroController SoftwareInterface Standard)。

CMSIS 架构

CMSIS 标准中最主要的为 CMSIS 核心层,它包括了:
内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供。
设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。
可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。STM32 的库,就是按照 CMSIS 标准建立的。

Libraries 文件夹中CMSIS 文件夹

写 STM32F4 的工程,必须用到其中的四个文件:core_cm4.hcore_cmFunc.hcorecmInstr.hcore_cmSimd.h


在 src 和 inc 文件夹里的就是 ST 公司针对每个 STM32 外设而编写的库函数文件,每个外设对应一个.c 和.h 后缀的文件。

库的各文件间的关系

常用官方资料

《STM32F4xx 参考手册》
这个文件全方位介绍了 STM32 芯片的各种片上外设,它把 STM32 的时钟、存储器架构、及各种外设、寄存器都描述得清清楚楚。当我们对 STM32 的外设感到困惑时,可查阅这个文档。以直接配置寄存器方式开发的话,查阅这个文档寄存器部分的频率会相当高,但这样效率太低了。

《STM32F4xx 规格书》
本文档相当于 STM32 的 datasheet,包含了 STM32 芯片所有的引脚功能说明及存储器架构、芯片外设架构说明。后面我们使用 STM32 其它外设时,常常需要查找这个手册,了解外设对应到 STM32 的哪个 GPIO 引脚。

《Cortex™-M4 内核参考手册》
本文档由 ST 公司提供,主要讲解 STM32 内核寄存器相关的说明,例如系统定时器、中断等寄存器。这部分的内容是《STM32F4xx 参考手册》没涉及到的内核部分的补充。相对来说,本文档虽然介绍了内核寄存器,但不如以下两个文档详细,要了解内核时,可作为以下两个手册的配合资料使用。

《Cortex-M3 权威指南》《cortex_m4_Technical Reference Manual》
这两个手册是由 ARM 公司提供的,它详细讲解了 Cortex 内核的架构和特性,要深入了解 Cortex-M 内核,这是首选,经典中的经典,其中 Cortex-M3 版本有中文版,方便学习。因为 Cortex-M4 内核与 Cortex-M3 内核大部分相同,可用它来学习,而 Cortex-M4 新增的特性,则必须参考《cortex_m4_Technical Reference Manual》文档了,目前只有英文版。

《stm32f4xx_dsp_stdperiph_lib_um.chm》
这个就是本章提到的库的帮助文档,在使用库函数时,我们最好通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法。也可以直接阅读源码里面的函数的函数说明。


No.2 STM32F429IGT6 固件库 CMSIS标准及库和STM32官方文档资料总结 (STM32F429/F767/H743)相关推荐

  1. 百度网页评级标准完整版下载【官方文档】

    该文档是query-url质量评估的详细标准指南,内容较详细,当你遇到问题可以随时查看,建议您可以先阅读Part6的快速导读,了解本标准核心内容. 本文档主体内容包括以下方面: 评估基础知识:part ...

  2. Poco 库开发-教你如何读Poco的官方文档

    引言 在使用任何一种框架开发的时候,都不免要阅读官方的文档. 下面就讲述如何来读Poco库的官方文档 Poco库 在我们下载好Poco 后,会有两个文件夹,一个是放文档的doc,另外一个就是代码了,这 ...

  3. 国密算法标准官方文档在哪里

    在网上找了很久,都是一些乱七八糟的博文,感觉就是为了引流. 国密算法SM2.SM3.SM9等算法标准,都可以在国家秘密管理局的文件中找到 标准规范_国家密码管理局 例如国家密码管理局关于发布<S ...

  4. 【Python绘图】turtle库乌龟绘图官方文档详细整理

    [函数表格整理在最下方] Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面 ...

  5. 对STIX2.0标准12个构件的解读(续)——对STIX2.0官方文档的翻译

    官方文档地址:点击即可 1.  攻击模式(Attack Pattern) 类别名称: attack-pattern 攻击模式是TTP的一种,描述了攻击者试图破坏目标的方式.攻击模式用于帮助对攻击进行分 ...

  6. 官方文档链接(Core Graphics、View Controller、UICollectionView、UITableView、第三方库)

    Core Graphics Quartz 2D Programming Guide Core Graphics (Framework) Drawing(UIKit).Images and PDF(UI ...

  7. STM32 固件库,CMSIS 标准,STM32Cube

    STM32 固件库与 CMSIS 标准讲解 STM32F4 固件库就是函数的集合,那么对这些函数有什么要求呢? 这里就涉及到一个 CMSIS 标准的基础知识.经常有人问到 STM32 和 ARM 以及 ...

  8. stl标准模板库_C ++标准模板库(STL)中的array :: fill()

    stl标准模板库 fill() is a member function of "array container", which sets a given value to all ...

  9. stl标准模板库_C ++标准模板库(STL)中的数组及其常用功能

    stl标准模板库 "array" is a container in C++ STL, which has fixed size, which is defined in &quo ...

最新文章

  1. LeetCode刷题——最长回文子串
  2. 骏飞H5幸运刮刮乐源码
  3. 反射与特性与Tool编写
  4. autoComplete实现的输入下拉联想功能
  5. 用 maven 命令启动项目和直接用tomcat 启动项目的区别
  6. 拥抱模块化的javascript
  7. 东南大学毕业论文latex模板
  8. secureCRT下载地址,亲测有效
  9. 【PR】PR剪辑视频编辑软件视频去字幕
  10. 2021年中国商业地产市场现状分析,销售面积下降,依托核心城市构建差异化是关键「图」
  11. 汇编语言学习:VM上安装Win98系统
  12. 魅魔php影视系统,魅魔Maccms电影程序PHP
  13. 计算机课第一节可以讲些什么,高职《大学计算机基础》第1节课讲点什么?
  14. 文明大爆炸服务器维护,文明大爆炸
  15. 库卡机器人提示“无合适的mam文件“
  16. 搜索引擎排名威新hfqjwl_手机下拉框微莘hfddjwl,手机下拉框微信hfqjdwl作词
  17. Activity跳转的过渡动画全解析
  18. Python数据结构:栈的应用
  19. 【附上解释】爬取A股所有上市公司的信息并存储到数据库或者是csv文件中
  20. 正数的算术平均值不小于几何平均值的一个初等证明

热门文章

  1. Linux X86_64位虚拟地址空间布局与试验
  2. 树上摩托【NOIP2016提高A组模拟9.4】
  3. mysql jsp论坛源码_论坛jsp源码|JSP论坛源码 jsp+mysql+tomcat下载_红软基地
  4. ubuntu下google 拼音输入法的安装
  5. android应用程序图标
  6. 无心剑七绝《十里龙舟》
  7. 发现一个适合程序员的画图软件SketchBook,画个发动机气缸驱动线圈发电图
  8. 茶馆无线wifi短信认证方案
  9. getaddrinfo使用
  10. python:实现SlopeOne算法(附完整源码)