"); //-->
先来看看ARM公司对CMSIS的定义:
ARM® Cortex™ 微控制器软件接口标准 (CMSIS) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。
CMSIS 可实现与处理器和外设之间的一致且简单的软件接口,从而简化软件的重用,缩短微控制器开发人员新手的学习过程,并缩短新设备的上市时间。
软件的创建是嵌入式产品行业的一个主要成本因素。通过跨所有 Cortex-M 芯片供应商产品将软件接口标准化(尤其是在创建新项目或将现有软件迁移到新设备时),可以大大降低成本。
我们知道,不同厂家,比如FSL,ST,Energy Micro等不同厂家的内核都是使用Cortex M,但是这些MCU的外设却大相径庭,外设的设计、接口、寄存器等都不一样,
因此,一个能够非常熟练使用STM32软件编程的工程师很难快速地上手开发一款他不熟悉的,尽管是Cortex M内核的芯片。
而CMSIS的目的是让不同厂家的Cortex M的MCU至少在内核层次上能够做到一定的一致性,提高软件移植的效率。
1. CMSIS的结构:
CMSIS 包含以下组件:
CMSIS-CORE:提供与 Cortex-M0、Cortex-M3、Cortex-M4、SC000 和 SC300 处理器与外围寄存器之间的接口
CMSIS-DSP:包含以定点(分数 q7、q15、q31)和单精度浮点(32 位)实现的 60 多种函数的 DSP 库
CMSIS-RTOS API:用于线程控制、资源和时间管理的实时操作系统的标准化编程接口
CMSIS-SVD:包含完整微控制器系统(包括外设)的程序员视图的系统视图描述 XML 文件
此标准可进行全面扩展,以确保适用于所有 Cortex-M 处理器系列微控制器。其中包括所有设备:
从最小的 8 KB 设备,直至带有精密通信外设(例如以太网或 USB)的设备。
(内核外设功能的内存要求小于 1 KB 代码,低于 10 字节 RAM)。
看了这张图的含义更清楚些,CMSIS-RTOS在用户的应用代码和第三方的RTOS Kernel直接架起一道桥梁,一个设计在不同的RTOS之间移植,
或者在不同Cortex MCU直接移植的时候,如果两个RTOS都实现了CMSIS-RTOS,那么用户的应用程序代码完全可以不做修改。
CMSIS SVD(System View Description) 系统视图说明
系统视图描述 (SVD) 文件以基于格式化的 XML 提供了外设信息和其他设备参数。
SVD 文件通常与设备参考手册中芯片供应商提供的信息相匹配。
SVD相当于把传统的芯片手册(DATA SHEET)给“数字化”了, 手册是给人看的,而SVD采用XML文档结构化的方式,是给机器、开发环境、MDK/IAR等软件“看”的,
SVD文件中定义了某个芯片的非常详细的信息,包含了哪些片内外设,每一个外设的硬件寄存器,每一个寄存器中每一个数据位的值,以及详细的说明信息等等。
SVD足够详细,与手册内容完全匹配,根据SVD文件可以生成芯片的头文件定义,厉害吧!
因此,SVD文件的内容非常详细,基本上人看不懂,虽然是XML,但看起来还是像天书一样,但对于软件、工具,则是清晰明了。
http://www.keil.com/pack/doc/cmsis/svd/html/index.html
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。