CMSIS的创建是为了帮助行业实现标准化,减少了客户学习曲线,开发成本,缩短产品上市时间。

CMSIS是什么?

CMSIS:Cortex Microcontroller Software InterfaceStandard翻译成中文就是ARM Cortex 微控制器/处理器软件接口标准。

CMSIS基于ARM Cortex处理器的微控制器的独立于供应商的硬件抽象层(a vendor-independent hardware abstraction layer formicrocontrollers that are based on ARM® Cortex® processors. --来自ARM官网)

CMSIS有哪些工具提供?

CMSIS提供了到处理器(Cortex M,Cortex A5/A7/A9)和外围设备,实时操作系统和中间件组件的接口,以下图表为CMSIS提供的组件。

arm原理与应用网课(CMSIS标准概述及快速入门)(1)

比如CMSIS-NN用于在Cortex M上进行神经网络学习,CMSIS-RTOSv1用于实时操作系统的通用API以及基于RTX的参考实现,CMSIS-Core(M)用于Cortex-M处理器内核和外围设备的标准化API。

ARM根据Apache 2.0许可免费提供CMSIS 。

arm原理与应用网课(CMSIS标准概述及快速入门)(2)

CMSIS怎么快速入门?

CMSIS 标准中最主要的为CMSIS-Core(M)层,它包括了:

内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由 ARM 公司提供。

设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。可见 CMSIS 层位于硬件层与操作系统或用户层之间,提供了与芯片生产商无关的硬件抽象层,可以为接口外设、实时操作系统提供简单的处理器软件接口,屏蔽了硬件差异,这对软件的移植是有极大的好处的。

以下ARM :: CMSIS目录中存在与CMSIS-Core(Cortex-M)相关的文件:

arm原理与应用网课(CMSIS标准概述及快速入门)(3)

基于每个组件的详细应用以及示例程序可参考以下链接。

https://arm-software.github.io/CMSIS_5/Core/html/index.html

参考资料:

https://developer.arm.com/tools-and-software/embedded/cmsis

https://github.com/ARM-software/CMSIS_5

https://arm-software.github.io/CMSIS_5/General/html/index.html

推荐阅读:

GitHub值得关注的几个嵌入式相关项目

蓝牙技术市场展望2019(多图)

做第一个吃螃蟹的,深入了解基于RISC-V 的GD32VF103处理器系统及储存器架构

有哪些好的嵌入式操作系统界面库(GUI library)(上)?

有哪些好的嵌入式操作系统界面库(GUI library)(下)?

关注公众号“嵌入式杂谈”,查看更多精彩内容!

,