参考文献:CMSIS详解
基于CMSIS标准的软件架构主要有四层:用户应用层、操作系统层、CMSIS层和硬件寄存器层。
CMSIS层主要分为3个部分:
- 核内外设访问层(CPAL),由ARM负责实现对寄存器名称、地址定义、NVIC接口等定义,统一用_INLINE屏蔽差异,其接口函数均是可重入的。
- 片上外设访问层(DPAL),由芯片厂商负责实现,可调用CPAL提供的接口函数处理相应的外设中断请求
- 外设访问函数(AFP),由芯片厂商负责,提供访问片上外设的函数
关于几个文件
core_cm0.h:文件中定义了使用的CMSIS版本、Cortex内核、工具链,提供了核内外设访问层的定义,例如核内外设的数据结构和地址映射,也提供了一些访问Cortex-M0核内寄存器及外设的静态内联函数
core_cm0.c:定义了访问Cortex-M0核内寄存器的相关内部函数
System_<device>.h:中断号及外设寄存器的定义
System_<device>.c:包含初始化在内的系统函数
其他头文件则实现了片上外设访问层以及额外的访问函数的定义