【ARM】CMSIS6 介绍

1、 简介

CMSIS是通用微控制器软件接口标准(Common Microcontroller Software Interface Standard ) 的简写。

CMSIS 包括API、软件组件、工具及工作流程,主要用于简化软件重用、缩短开发人员学习曲线,加快项目构建和调试,从而使产品更快上市。

CMSIS 最初是一个基于 Arm® Cortex®-M 的处理器的硬件抽象层,后来扩展到支持Arm Cortex-A 的一些处理器。为了简化访问,CMSIS 定义了通用工具接口,并通过为处理器和外设提供简单的软件接口来实现一致的设备支持。

CMSIS 的创建是为了帮助行业实现标准化。它可以在各种开发工具和微控制器上实现一致的软件层和设备支持。CMSIS 不是一个很大的软件层,不会带来很大开销,也没有定义标准外设。因此,芯片行业可以通过此通用标准支持各种基于Arm Cortex 处理器的设备。

2、 CMSIS组件

CMSIS 基础软件组件

为设备的基本级别功能提供软件抽象。

在同一 GitHub 存储库中维护,并作为一个CMSIS 软件包提供,名称为Arm::CMSIS

CMSIS-Core 对Arm Cortex处理器内核的标准化访问

CMSIS-Driver 中间件的通用外设驱动程序接口

CMSIS-RTOS2 实时操作系统的通用API

CMSIS 扩展软件组件

实现针对 Arm 处理器上的执行而优化的特定功能。

在单独的 GitHub 存储库中维护并以独立的 CMSIS-Pack 形式提供

CMSIS-DSP 嵌入式系统的优化计算功能

CMSIS-NN 高效且高性能的神经网络内核

CMSIS-View事件记录器和组件查看器技术

CMSIS-Compiler 重定向标准C运行时库的I/O函数

CMSIS工具

使用基于 CMSIS 的组件为软件开发工作流程提供有用的实用程序。

在单独的 GitHub 存储库中维护

CMSIS-Toolbox 一组与软件包一起使用的命令行工具

CMSIS-Stream用于优化DSP/ML块数据流的工具和方法

CMSIS-DAP 用于连接CoreSight调试访问端口的调试单元固件

CMSIS-Zone 定义描述系统资源并对它们进行分区

CMSIS 规范

定义嵌入式软件开发的方法和工作流程。

CMSIS-Pack 软件组件和设备/板支持的交付机制

CMSIS-SVD 用于调试视图的外设描述

3、CMSIS 的优势

  • CMSIS 降低了学习曲线、开发成本和上市时间。开发人员可以通过各种的标准化软件接口更快地编写软件。

  • 一致的软件接口提高了软件的可移植性和可重用性。通用软件库和接口提供一致的软件框架。

  • 提供用于调试连接、调试外设视图、软件交付和设备支持的接口,以缩短新微控制器部署的时间。

  • 允许使用您偏好的编译器,因为它独立于编译器,因此主流编译器都支持。

  • 通过调试器的外围信息和 printf 样式输出的 ITM 通道增强了程序调试。

  • CMSIS以CMSIS-Pack格式提供,可实现快速软件交付、简化更新并实现与开发工具的一致集成。

  • CMSIS-Zone管理多个处理器、内存区域和外设的配置,简化系统资源和分区。

  • IDE 和持续集成 (CI) 是嵌入式软件开发人员的重要工作流程。CMSIS-Toolbox 提供带有 CMake 后端的命令行构建工具,并集成到 VS Code 等 IDE 中。

4、CMSIS v6 支持以下工具链

Arm 编译器 v6.10 或更高版本

GCC 10 或更高版本

IAR 8 或更高版本

LLVM/Clang 17 以后版本

注意:对 Arm Compiler v5 的支持已被删除。(这意味着如果芯片厂家使用 CMSIS6 规范制作的 pack ,那么就无法使用 ARM Compiler v5 进行编译)

相关推荐
海绵宝宝de派小星1 天前
MCP与A2A协议深度解析:Agent时代的“TCP/IP“如何诞生
arm开发·网络协议·tcp/ip·ai
Zephyrus_20231 天前
LSM6DSV16X驱动移植+调试
c语言·arm开发
瑞禧生物tech1 天前
四臂聚乙二醇-磷脂 4-Arm PEG-DSPE 反应原理解析
arm开发
振南的单片机世界1 天前
地址总线定“找谁”,数据总线定“搬多少”
arm开发·stm32·单片机
有想法的py工程师2 天前
手工处理 Oracle Cloud ARM 实例在线 DD Rocky Linux 10报错
linux·arm开发·oracle
带土12 天前
2. ARM处理器概论
arm开发
大阳1232 天前
ARM.7(UART,I2C)
arm开发·单片机·嵌入式硬件·i2c·at24c02
secondyoung4 天前
Cortex-R52学习:MPU内存保护机制
arm开发·单片机·学习·arm·mpu
szxinmai主板定制专家4 天前
基于 ARM+FPGA精密多轴实时运动控制卡设计方案,适用于半导体设备等高精度领域(一)
arm开发·人工智能·嵌入式硬件·fpga开发·架构·语音识别
你疯了抱抱我4 天前
【Mac】安装并配置HomeBrew;ARM GCC;make;OpenOCD
arm开发·macos