演示模板CMSIS标准.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
优选文档 * * * * * * * * * * * * * * * * CMSIS标准简介 武汉理工大学 UP研发中心 张国琛 up.whut.edu.cn 优选文档 * CMSIS CMSIS简介 CMSIS架构 CMSIS文件结构 CMSIS支持的工具链 CMSIS中的中断定义 CMSIS中的编程约定 CMSIS实例 总结 优选文档 * CMSIS的简介 Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM提出,专门针对CORTEX-M系列的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问CORTEX内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于M3的芯片,代码均是可以复用的。 优选文档 * CMSIS简介 根据近期的研究调查,发现在嵌入式开发领域,软件的花费在不断提高,相反硬件的花费却逐年降低,因此嵌入式领域的公司,越来越把精力放到了软件上,但软件在更换芯片或是开发工具的更新换代中,代码的重用性不高,随着CORTEX-M3处理器大量投放市场,ARM意识到建立一套软件开发标准的重要性,因此CMSIS应运而生。 优选文档 * CMSIS的架构 CMSIS可以分为以下3个基本功能层 核内外设访问层 Core Peripheral Access Layer (CPAL) 中间件访问层 Middleware Access Layer (MWAL) 设备访问层 Device Peripheral Access Layer (DPAL) 优选文档 * CMSIS架构 CMSIS的架构如下图所示: 优选文档 * CMSIS架构 Core Peripheral Access Layer (CPAL) 该层用来定义一些CORTEX-M处理器内部的一些寄存器地址以及功能函数。如对内核寄存器,NVIC,调试子系统的访问。一些对特殊用途寄存器的访问被定义成内联函数或是内嵌汇编的形式。 该层的实现由ARM提供。 Middleware Access Layer (MWAL) 该层定义访问中间件的一些通用API,该层也由ARM负责实现,但芯片厂商需要根据自己的设备特性进行更新。目前该层仍在开发中,还没有更进一步的消息。 Device Peripheral Access Layer (DPAL) 该层和CPAL层类似,用来定义一些硬件寄存器的地址以及对外设的访问函数。另外芯片厂商还需要对异常向量表进行扩展,以实现对自己设备的中断处理。该层可引用CPAL层定义的地址和函数,该层由具体的芯片厂商提供。 优选文档 * CMSIS文件结构 CMSIS首先对文件名的定义给出了标准 core_cm3.h Cortex-M3 global declarations and definitions, static function definitions core_cm3.c Cortex-M3 global definitions device.h Top-level header file (device specific). To be included by application code.Includes core_cm3.h and system_device.h system_device.h Device specific declarations system_device.c Device specific definitions, e.g. SystemInit() 应用程序只需包含device.h 即可。 优选文档 * 以STM32为例,来看下相关的文件名定义,以及它们的相互关系。 优选文档 * 由于CORTEX-M3有一些可选硬件如MPU,在device.h中包含core_cm3.h和system_device.h时需注意以下一点,以STM32.h为例。 /* Configuration of the Cortex-M3 Processor and Core Peripherals */ #define __MPU_PRESENT 0 /*! STM32 does not provide a MPU present or not*/ #define __NVIC_PRIO_BITS 4 /*! STM32 uses 4 Bits for the Priority Levels

文档评论(0)

liuxiaoyu99 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档