- 用户应用层、操作系统及中间件接口层、CMSIS层、硬件寄存器层
- CMSIS层
- 对硬件寄存器层进行统一实现,屏蔽了不同厂商对Cortex-M系列微处理器核内外设寄存器的不同定义
- 向上层的操作系统及中间件接口层和应用层提供接口,简化了应用程序开发难度,使开发人员能够在完全透明的情况下进行应用程序开发
- 核内外设访问层(CPAL,CorePeripheraIAccessLayer)
- 由ARM实现
- 包括对寄存器名称、地址的定义,内核寄存器、NVIC、调试子系统的访问接口定义以及对特殊用途寄存器的访问接口(例如:CONTROL,xPSR)定义
- 针对不同的编译器ARM统一用来屏蔽差异
- 片上外设访问层(DPAL,DevicePeripheraIAccessLayer)
- 该层由芯片厂商负责实现
- 该层与CPAL类似,负责对硬件寄存器地址以及外设访问接口进行定义
- 该层可调用CPAL层提供的接口函数同时根据设备的特性对异常向量表进行扩展,以处理相应外设的中断请求
- 外设访问函数(AFP,AccessFunctionsforPeripherals)
- 该层也由芯片厂商负责实现
- 提供访问片上外设的访问函数,该部分可选
基于CMSIS标准的软件架构图
|