欢迎来到天天文库
浏览记录
ID:36045023
大小:516.55 KB
页数:17页
时间:2019-05-01
《cortex微控制器软件接口标准》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Cortex微控制器软件接口标准张国琛武汉理工大学UP研发中心CMSISCMSIS简介CMSIS架构CMSIS文件结构CMSIS支持的工具链CMSIS中的中断定义CMSIS中的编程约定CMSIS实例总结CMSIS的简介Cortex微控制器软件接口标准(CortexMicrocontrollerSoftwareInterfaceStandard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM提出,专门针对CORTEX-M系列的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问CORTEX内核以及一些专用
2、外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于M3的芯片,代码均是可以复用的。CMSIS简介根据近期的研究调查,发现在嵌入式开发领域,软件的花费在不断提高,相反硬件的花费却逐年降低,因此嵌入式领域的公司,越来越把精力放到了软件上,但软件在更换芯片或是开发工具的更新换代中,代码的重用性不高,随着CORTEX-M3处理器大量投放市场,ARM意识到建立一套软件开发标准的重要性,因此CMSIS应运而生。CMSIS的架构CMSIS可以分为以下3个基本功能层核内外设访问层CorePeripheralAccessLaye
3、r(CPAL)中间件访问层MiddlewareAccessLayer(MWAL)设备访问层DevicePeripheralAccessLayer(DPAL)CMSIS架构CMSIS的架构如下图所示:CMSIS架构CorePeripheralAccessLayer(CPAL)该层用来定义一些CORTEX-M处理器内部的一些寄存器地址以及功能函数。如对内核寄存器,NVIC,调试子系统的访问。一些对特殊用途寄存器的访问被定义成内联函数或是内嵌汇编的形式。该层的实现由ARM提供。MiddlewareAccessLayer(MWAL)该层定义访问中间件的
4、一些通用API,该层也由ARM负责实现,但芯片厂商需要根据自己的设备特性进行更新。目前该层仍在开发中,还没有更进一步的消息。DevicePeripheralAccessLayer(DPAL)该层和CPAL层类似,用来定义一些硬件寄存器的地址以及对外设的访问函数。另外芯片厂商还需要对异常向量表进行扩展,以实现对自己设备的中断处理。该层可引用CPAL层定义的地址和函数,该层由具体的芯片厂商提供。CMSIS文件结构CMSIS首先对文件名的定义给出了标准core_cm3.hCortex-M3globaldeclarationsanddefinition
5、s,staticfunctiondefinitionscore_cm3.cCortex-M3globaldefinitions.hTop-levelheaderfile(devicespecific).Tobeincludedbyapplicationcode.Includescore_cm3.handsystem_.hsystem_.hDevicespecificdeclarationssystem_.cDevicespecificdefinitions,e.g.SystemIn
6、it()应用程序只需包含.h即可。以STM32为例,来看下相关的文件名定义,以及它们的相互关系。由于CORTEX-M3有一些可选硬件如MPU,在中包含core_cm3.h和system_.h时需注意以下一点,以STM32.h为例。/*ConfigurationoftheCortex-M3ProcessorandCorePeripherals*/#define__MPU_PRESENT0/*!7、PRIO_BITS4/*!8、TickConfig被定义为1,则在cm3_core.h中定义的SysTickConfig()将不被包含,因此厂商必须在中给以实现
7、PRIO_BITS4/*!8、TickConfig被定义为1,则在cm3_core.h中定义的SysTickConfig()将不被包含,因此厂商必须在中给以实现
8、TickConfig被定义为1,则在cm3_core.h中定义的SysTickConfig()将不被包含,因此厂商必须在中给以实现
此文档下载收益归作者所有