基于CMSIS标准的Cortex-M3应用软件开发

网友投稿 464 2022-11-27

基于CMSIS标准的Cortex-M3应用软件开发

基于CMSIS标准的Cortex-M3应用软件开发

引 言

1 基于CMSIS标准的软件架构

CMSIS层主要分为3部分。

①核内外设访问层(CPAL):由ARM负责实现。包括对寄存器地址的定义,对核寄存器、NVIC、调试子系统的访问接口定义以及对特殊用途寄存器的访问接口(如CONTROL和xPSR)定义。由于对特殊寄存器的访问以内联方式定义,所以ARM针对不同的编译器统一用_INLINE来屏蔽差异。该层定义的接口函数均是可重入的。

③设备外设访问层(DPAL):由芯片厂商负责实现。该层的实现与CPAL类似,负责对硬件寄存器地址以及外设访问接口进行定义。该层可调用CPAL层提供的接口函数,同时根据设备特性对异常向量表进行扩展,以处理相应外设的中断请求。

2 CMSIS规范

(1)文件结构

CMSIS支持目前嵌入式开发的三大主流工具链,即ARM ReakView(armcc)、IAR EWARM(iccarm)以及GNU工具链(gcc)。通过在core_cm3.C中的如下定义,来屏蔽一些编译器内置关键字的差异。

(3)中断异常

CMSIS对异常和中断标识符、中断处理函数名以及中断向量异常号都有严格的要求。异常和中断标识符需加后缀_IRQn,系统异常向量号必须为负值,而设备的中断向量号是从0开始递增,具体的定义如下所示(以STM32为例):

(4)数据类型

(5)调 试

(6)安全机制

3 基于CMSIS标准的代码实现

CMSIS降低了代码开发的难度,为了更好地诠释这一点,下面以一个基于STM32微处理器的简单例子来说明。代码实现如下:

结 语

本文阐述了基于CMSIS标准的软件架构、规范,并通过一个实例更加清晰地解读了CMSIS作为一个新的基于Cortex-M核处理器系列的软件开发标准所具有的巨大潜力。它不仅降低了软件开发的难度,更减少了软件开发的成本。因此,工程师尽早掌握CMSIS标准,对进行基于Cortex-M3处理器的软件开发会大有帮助。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:卫星导航系统-第13讲-差分定位方法-2
下一篇:GNSS原始数据相关-2-观测文件O
相关文章

 发表评论

暂时没有评论,来抢沙发吧~