关注、星标公众号,直达精彩内容

来源:网络素材

整理:技术让梦想更伟大 | 李肖遥

CMSIS主要内容如下:

  • CMSIS-RTOS:主要用于RTOS的API,可与中间件和库组件实现一致的软件层。

  • CMSIS-DSP:Arm针对各种Cortex-M处理器内核进行了优化的丰富DSP功能的集合。

  • CMSIS-Driver:接口可用于许多微控制器系列。

  • CMSIS-Pack:定义了包含软件组件的软件包。

  • CMSIS-SVD:可通过当前寄存器状态显示设备外设的详细视图。

  • CMSIS-DAP:Cortex调试访问端口(DAP)的标准化接口。

  • CMSIS-NN:高效的神经网络内核的集合。

同时,我们在使用STM32CubeMX配置FreeRTOS时有一个CMSIS_V1CMSIS_V2的选项,有读者就问了一个问题:CMSIS-RTOS是什么?CMSIS_V1和CMSIS_V2区别是什么?

下面我们就来简单分享一下关于CMSIS-RTOS的内容。

CMSIS的简介

Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对CORTEX-M系列提出的标准。

在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。

只要都是基于Cortex的芯片,代码均是可以复用的。CMSIS是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用 CMSIS可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。

CMSIS主要内容如下:

  • CMSIS-RTOS:主要用于RTOS的API,可与中间件和库组件实现一致的软件层。

  • CMSIS-DSP:Arm针对各种Cortex-M处理器内核进行了优化的丰富DSP功能的集合。

  • CMSIS-Driver:接口可用于许多微控制器系列。

  • CMSIS-Pack:定义了包含软件组件的软件包。

  • CMSIS-SVD:可通过当前寄存器状态显示设备外设的详细视图。

  • CMSIS-DAP:Cortex调试访问端口(DAP)的标准化接口。

  • CMSIS-NN:高效的神经网络内核的集合。

CMSIS-RTOS是干么的?

众所周知,实时操作系统是嵌入式领域的基石,而可选的嵌入式操作系统有很多,如FreeRTOS、μCOS、RT-Thread、RTX、ThreadX、uLinux等。

CMSIS-RTOS是ARM公司为统一操作系统、降低嵌入式门槛而发布的操作系统标准软件接口。通俗讲,CMSIS-RTOS将操作系统(不管是FreeRTOS还是RTX等)屏蔽起来,然后提供CMSIS-RTOS接口函数给最终使用者调用。

如此以来,最终使用者只需要学习CMSIS-ROTS即可,从而降低学习门槛。(目前FreeRTOS和RTX能够很好的支持CMSIS-RTOS,其他有些RTOS还没有做适配)。

CMSIS-RTOS 是实时操作系统的通用 API。它提供了标准化的编程接口,它只是封装了RTX/Embos,以后还可能封装μCOS、ThreadX等第三方RTOS。

就如开篇所说的,在STM32CubeMX配置FreeRTOS有一个CMSIS_V1CMSIS_V2的选项:

同时,CMSIS-ROTS也对Keil的RTX作了很好的支持,如果你安装了Keil MDK,在CMSIS目录下,你会发现RTX的源码:

这里顺便说一下:RTX与μCOS、ThreadX等这些RTOS一样,同样免费开源(源码在CMSIS目录下,可以自己查看),遵循Apache2.0开源协议

补充

CMSIS RTOS是ARM现在热推的物联网操作系统mbedOS的基础,搞懂这个RTOS API,更有利于从事RTOS底层、IC底层软件开发。

这里推荐一篇使用CMSIS-RTOS创建线程的教程:

https://blog.csdn.net/ichamber/article/details/53116253

可移植到很多,RTOS,使软件模板、中间件、库及其它组件能工作于支持的 RTOS 系统(ST就针对FreeRTOS做了CMSIS-RTOS底层支持,所以,你会看到STM32CubeMX有CMSIS_V1和CMSIS_V2的选项)。

更多关于CMSIS-RTOS的内容,可以参看官方教程:

https://www.keil.com/pack/doc/CMSIS/RTOS2/html/rtos_api2.html

(公号不支持外连接,请复制链接到浏览器打开)

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

CMSIS-RTOS相关的一些内容相关推荐

  1. 关于display相关的一些内容(总体)

    关于display相关的一些内容(总体) 请看<关于linux的通用显示框架和android显示框架(必读的总结).docx> 一定要明白各个部分之间的关系,哪些部分为了Rendering ...

  2. Soul回应下架整改:将严格审核相关功能和内容

    [TechWeb]6月30日, 6月28日,国家网信办发布<国家网信办集中开展网络音频专项整治>通知.通知显示,根据群众举报线索,经核查取证,首批依法依规对吱呀.Soul.语玩.一说FM等 ...

  3. 浅谈C#中的多态及相关知识(主要内容来自msdn) -转载(benzite)

    目录: 一.抽象类 二.接口 三.抽象类和接口的使用 四.类和接口的区别 五.覆盖与隐藏 一. 抽象类: 用abstract修饰的类叫抽象类.抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他 ...

  4. filebeat相关registry文件内容解析

    filebeat的registry文件中存放的是被采集的所有日志的相关信息. linux中registry中一条日志记录的内容如下 {"source":"/var/log ...

  5. 路径追踪相关的一些内容

    序 引用自: GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili 在了解了 这个: (62条消息) 辐射度量学与相关物理量_averagePerson的博客-CSDN博客 这个 ...

  6. 锂电池出口-包装要求指南(及相关新规内容)

    目前,锂离子电池相关的HS编码均已没有检验监管条件,无需实施进出口商品检验. 虽然锂离子电池无需实施进出口商品检验,但是锂离子电池属于危险货物,仍须对包装进行使用鉴定. <进出口商品检验法> ...

  7. TCP相关的面试内容整理

    以下内容源于网络资料的学习整理.很多资料网上都有,但只有整理过一遍才属于自己的. 参考博客 http://www.cnblogs.com/BlueTzar/articles/811160.html(O ...

  8. linux相关命令------文件内容显示以及文件其他命令

    1.文件内容查看: (1)查看/etc/passwd文件的第6行  (2)查看/etc/selinux/config 以 SELINUX开头的行 (3)查找/etc/ssh/sshd_config 以 ...

  9. 车联网C-V2X产业和相关技术资料内容

    中国信通院2018年<车联网白皮书> 车联网汽车市场加速增长,但是,为了扩展现有司机的服务范围,比如更好的导航.信息娱乐.安全和远程信息处理服务,OEM必须找到一种新的技术方法来支持车辆与 ...

  10. 利用微软在线预览链接展示office相关文档内容

    当我们需要将文档展示到页面的时候,往往会想到将office相关文件转换成pdf,然后再通过h5标签等方式展示到页面,无论是使用libreoffice或者openoffice,转换后的pdf效果都会有一 ...

最新文章

  1. 武汉约100所中小学将试点人工智能课,现面向社会遴选教材
  2. java socket超时时间_java中socket 默认超时时间 | 学步园
  3. OpenGL 绘图移动
  4. 你真敢ZAO吗?解读换脸AI “细思极恐” 的用户协议
  5. 在Tomcat中配配置数据源汇总
  6. 在制作html页面时,在制作Xhtml页面时是先写HTML代码还是先写CSS代码
  7. 华为海思和MTK 智能手机
  8. 自然语言处理怎么最快入门
  9. Android 视频裁剪 (含裁剪 View)
  10. SAP与 WebService接口的配置与调用
  11. 2021数学建模美赛:赛前总动员
  12. 自信满满,一路前行!
  13. Cisco路由器和交换机型号
  14. ng2 绑定输出html,Angular2的数据绑定
  15. Qt实现简易的浏览器
  16. 【龙芯1B】:龙芯1B200字号修改程序(基于龙芯1B200)
  17. 小呀嘛小二郎 背着那书包上学堂
  18. SpaceVR真的要上天,让你星际穿越不是梦
  19. 任务管理器-性能中各项的意义
  20. js 变量提升 函数提升 作用域

热门文章

  1. Windows常用快捷键
  2. Titanic(泰坦尼克号数据集)
  3. PTA病毒序列C语言
  4. [转]最世界最牛人博客,你可以学习到太多太多`~~
  5. drupal简体中文语言包安装方法
  6. iOS 实现时间线列表效果
  7. 《信号与系统学习笔记》—线性反馈系统(二)
  8. 条码打印软件如何制作二维码
  9. 小红书编辑器_为什么我建议你用小红书打造个人IP?
  10. Xcode 模拟器Simulator手动下载(iOS 8 - iOS 12)