Cortex微控制器软件接口标准参考PPT.ppt
《Cortex微控制器软件接口标准参考PPT.ppt》由会员分享,可在线阅读,更多相关《Cortex微控制器软件接口标准参考PPT.ppt(17页珍藏版)》请在三一文库上搜索。
1、1,Cortex微控制器软件接口标准,张国琛 武汉理工大学 UP研发中心,2,CMSIS,CMSIS简介 CMSIS架构 CMSIS文件结构 CMSIS支持的工具链 CMSIS中的中断定义 CMSIS中的编程约定 CMSIS实例 总结,3,CMSIS的简介,Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM提出,专门针对CORTEX-M系列的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问CORTEX内核以及一些专用外
2、设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于M3的芯片,代码均是可以复用的。,4,CMSIS简介,根据近期的研究调查,发现在嵌入式开发领域,软件的花费在不断提高,相反硬件的花费却逐年降低,因此嵌入式领域的公司,越来越把精力放到了软件上,但软件在更换芯片或是开发工具的更新换代中,代码的重用性不高,随着CORTEX-M3处理器大量投放市场,ARM意识到建立一套软件开发标准的重要性,因此CMSIS应运而生。,5,CMSIS的架构,CMSIS可以分为以下3个基本功能层 核内外设访问层 Core Peripheral Access Layer (CPAL) 中间件访
3、问层 Middleware Access Layer (MWAL) 设备访问层 Device Peripheral Access Layer (DPAL),6,CMSIS架构,CMSIS的架构如下图所示:,7,CMSIS架构,Core Peripheral Access Layer (CPAL) 该层用来定义一些CORTEX-M处理器内部的一些寄存器地址以及功能函数。如对内核寄存器,NVIC,调试子系统的访问。一些对特殊用途寄存器的访问被定义成内联函数或是内嵌汇编的形式。 该层的实现由ARM提供。 Middleware Access Layer (MWAL) 该层定义访问中间件的一些通用API
4、,该层也由ARM负责实现,但芯片厂商需要根据自己的设备特性进行更新。目前该层仍在开发中,还没有更进一步的消息。 Device Peripheral Access Layer (DPAL) 该层和CPAL层类似,用来定义一些硬件寄存器的地址以及对外设的访问函数。另外芯片厂商还需要对异常向量表进行扩展,以实现对自己设备的中断处理。该层可引用CPAL层定义的地址和函数,该层由具体的芯片厂商提供。,8,CMSIS文件结构,CMSIS首先对文件名的定义给出了标准 core_cm3.h Cortex-M3 global declarations and definitions, static functi
5、on definitions core_cm3.c Cortex-M3 global definitions .h Top-level header file (device specific). To be included by application code.Includes core_cm3.h and system_.h system_.h Device specific declarations system_.c Device specific definitions, e.g. SystemInit() 应用程序只需包含.h 即可。,9,以STM32为例,来看下相关的文件名定
6、义,以及它们的相互关系。,10,由于CORTEX-M3有一些可选硬件如MPU,在中包含core_cm3.h和system_.h时需注意以下一点,以STM32.h为例。 /* Configuration of the Cortex-M3 Processor and Core Peripherals */ #define _MPU_PRESENT 0 /*!中给以实现。,11,CMSIS支持的工具链,CMSIS目前支持三大主流的工具链,即ARM RealView (armcc), IAR EWARM (iccarm), and GNU Compiler Collection (gcc). 在cor
7、e_cm3.h中有如下定义: /* define compiler specific symbols */ #if defined ( _CC_ARM ) #define _ASM _asm /*! asm keyword for armcc */ #define _INLINE _inline /*! inline keyword for armcc */ #elif defined ( _ICCARM_ ) #define _ASM _asm /*! asm keyword for iarcc */ #define _INLINE inline /*! inline keyword for
8、 iarcc. Only avaiable in High optimization mode! */ #define _nop _no_operation /*! no operation intrinsic in iarcc */ #elif defined ( _GNUC_ ) #define _ASM asm /*! asm keyword for gcc */ #define _INLINE inline /*! inline keyword for gcc #endif,12,MISRA-C,CMSIS要求定义的API以及编码与MISRA- C 2004规范兼容。MISRA-C是由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cortex 控制器 软件 接口标准 参考 PPT
链接地址:https://www.31doc.com/p-9257032.html