CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是“ARM Cortex™ 微控制器软件接口标准”。
CMSIS 分为 3 个基本功能层:
1) 核内外设訪问层:ARM 公司提供的訪问。定义处理器内部寄存器地址以及功能函数。
2) 中间件訪问层:定义訪问中间件的通用 API,也是 ARM 公司提供。
3) 外设訪问层:定义硬件寄存器的地址以及外设的訪问函数。
CMSIS 层在整个系统中是处于中间层,向下负责与内核和各个外设直接打交道。向上提供实时操作系统用户程序调用的函数接口。假设没有 CMSIS 标准。那么各个芯片公司就会设计自己喜欢的风格的库函数。而 CMSIS 标准就是要强制规定,芯片生产公司设计的库函数必须依照 CMSIS 这套规范来设计。
我们在使用 STM32 芯片的时候首先要进
行系统初始化。CMSIS 规范就规定,系统初始化函数名字必须为 SystemInit,所以各个芯片公
司写自己的库函数的时候就必须用 SystemInit 对系统进行初始化。
CMSIS 还对各个外设驱
动文件的文件名称字规范化。以及函数名字规范化等等一系列规定。