为什么要说这个呢?这与Arm的安全架构PSA也密切相关!
为了解决不同芯片厂商生产的Cortex 微控制器软件的兼容性问题, Arm 与芯片厂商建立了CMSIS 标准(Cortex Microcontroller Software Interface Standard)。CMSIS是ARM Cortex微控制器软件接口标准,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。 CMSIS实际是新建了一个软件抽象层。一般CMSIS是Cortex-M IC厂商或系统移植人员需要了解的。如下图所示:
或者这个图(2018年最新),增加了CMSIS-Zone。
或者看看中文的图(CMSIS 2.0版本)下的介绍:
基于CMSIS标准的软件架构主要分为以下四层:用户应用层,操作系统层,CMSIS层以及硬件寄存器层。其中CMSIS层起着承上启下的作用,一方面该层对硬件寄存器层进行了统一的实现,屏蔽了不同厂商对Cortex-M系列微处理器核内外设寄存器的不同定义,另一方面又向上层的操作系统和应用层提供接口,简化了应用程序开发的难度,使开发人员能够在完全透明的情况下进行一些应用程序的开发。
Arm公司在2008年11月12日发布了ARMCortex微控制器软件接口标准CMSIS1.0,目前版本是5.3.0,
https://github.com/ARM-software/CMSIS_5/releases/tag/5.3.0