【总结】单片机重点知识总结记录之CMSIS详解(六)

简介: 【总结】单片机重点知识总结记录之CMSIS详解(六)

三.个人对于CMSIS的理解

我们在进行开发ARM的Cortex-M系芯片开发时经常看见CMSIS这一个名词,但是这个到底是什么呢?


       CMSIS(Cortex Microcontroller Software Interface Standard),顾名思义,是Cortex-M系处理器的标准软件接口。它是由ARM提供的一组硬件抽象层接口API,以便软件开发者能够更容易地编写可移植的、高效的和可重用的代码。


       CMSIS的主要结构:

设备访问层(CMSIS-DAP):提供了一套标准的API来访问微控制器的内部外设,如GPIO、中断控制器、定时器等。      

DAP.h 和 DAP.c:用于调试访问端口的文件。


内核访问层(CMSIS-CORE):定义了访问Cortex-M处理器内核的接口,包括寄存器映射、中断处理和内核服务的API。


core_cm*.h:这是针对特定Cortex-M系列处理器的核心头文件,例如core_cm3.h是针对Cortex-M3处理器的。


core_sc*.h:针对Cortex-M0和Cortex-M0+处理器的核心头文,cmsis_version.h:包含CMSIS版本信息的头文件。


irq_ctrl.h:中断控制相关的头文件。


mpu_armv*.h:内存保护单元(MPU)相关的头文件,针对不同的ARM版本。


中间件访问层(CMSIS-Middleware):为中间件组件(如实时操作系统、网络协议栈、电机控制算法等)提供标准化的接口。


这些文件包含了中间件组件,如RTOS、网络协议栈、图形库等的接口定义。

CMSIS-Driver:

提供硬件抽象层,用于与微控制器的外设进行通信。

包括各种外设的驱动模型和接口定义,例如SPI、I2C、USB等。

CMSIS-RTOS:

为实时操作系统提供标准的API。

使得不同的RTOS可以在CMSIS层上进行抽象,从而实现软件的可移植性。


相关文章
|
传感器 芯片 内存技术
STM32F103标准外设库——认识STM32(一)
STM32F103标准外设库——认识STM32(一)
743 0
STM32F103标准外设库——认识STM32(一)
|
芯片 存储 C语言
STM32F103标准外设库——固件库 (三)
STM32F103标准外设库——固件库 (三)
1936 0
STM32F103标准外设库——固件库 (三)
|
缓存 Java C语言
嵌入式 LVGL移植到STM32F4
嵌入式 LVGL移植到STM32F4
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
1696 0
|
存储 安全 API
基于FreeRTOS中的串口不定长接收(使用队列进行数据传输)
基于FreeRTOS中的串口不定长接收(使用队列进行数据传输)
2421 0
|
8月前
|
NoSQL 算法 Linux
OpenOCD下载安装保姆级教程(附安装包,非常详细)
OpenOCD是一款开源片上调试工具,支持JTAG/SWD接口,提供GDB Server、TCL脚本自动化等功能,可实现断点调试、Flash烧录、FPGA编程等,广泛应用于嵌入式开发与量产测试,被誉为“穷人的Lauterbach”。跨平台且免费,配置灵活但稍复杂,是嵌入式工程师的高效调试利器。
|
存储 编译器 Linux
动态链接的魔法:Linux下动态链接库机制探讨
本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入、延迟绑定以及地址无关代码等内容。
2465 141
|
C语言
【STM32 CubeMX】移植u8g2(一次成功)
【STM32 CubeMX】移植u8g2(一次成功)
3740 0
|
网络协议 Linux 网络安全
SYN Cookie技术原理
【8月更文挑战第21天】
1001 1
【寄存器开发速成】半小时入门STM32寄存器开发(二)
【寄存器开发速成】半小时入门STM32寄存器开发(二)
492 0

热门文章

最新文章