• 19.9 CMSIS编程标准


    引 言    

        ARM公司于200811 12 日发布了arm Cortex微控制器软件接口标准(CMSISCortex Microcon-troller Software InteRFace Standard)CMSIS 是独立于供应商的Cortex-M 微控制器系列硬件抽象层,为芯片厂商和中间件供应商提供了连续的、简单的微控制器软件接口,简化了软件复用,降低了Cortex-M0上操作系统的移植难度,并缩短了新入门的微控制器开发者的学习时间和新产品的上市时间。 

       根据近期的调查研究,软件开发已经被嵌入式行业公认为最主要的开发成本。图 19.9-1 为近年来软件开发与硬件开发成本对比图。因此,arm AtmelIARKeilhami-nary MicroMicriumNXPSEGGER ST等诸多芯片和软件厂商合作,将所有 Cortex芯片厂商产品的软件接口标准化,制定了CMSIS 标准。此举意在降低软件开发成本,尤其针对新设备项目开发,或者将已有软件移植到其他芯片厂商提供的基于 Cortex微控制器的微控制器的情况。有了该标准,芯片厂商就能够将他们的资源专注于产品外设特性的差异化,并且消除对微控制器进行编程时需要维持的不同的、互相不兼容的标准的需求,从而达到降低开发成本的目的。 

     

    19.9.1 CMSIS标准的软件架构 

     

       如图19.9-2 所示,基于CMSIS 标准的软件架构主要分为以下 4层:用户应用层、操作系统及中间件接口层、CMSIS层、硬件寄存器层。其中 CMSIS层起着承上启下的作用:一方面该层对硬件寄存器层进行统一实现,屏蔽了不同厂商对 Cortex-M 系列微微控制器核内外设寄存器的不同定义;另一方面又向上层的操作系统及中间件接口层和应用层提供接口,简化了应用程序开发难度,使开发人员能够在完全透明的情况下进行应用程序开发。也正是如此,CMSIS层的实现相对复杂。 

     

     

    19.9-2 CMSIS 标准的软件架构

     

     

       CMSIS 层主要分为3部分:

    ① 核内外设访问层(CPAL):由ARM负责实现。包括对寄存器地址的定义,对核寄存

    器、NVIC、调试子系统的访问接口定义以及对特殊用途寄存器的访问接口(如 CONTROL

    xPSR)定义。由于对特殊寄存器的访问以内联方式定义,所以 arm 针对不同的编译器统

    一用_INLINE来屏蔽差异。该层定义的接口函数均是可重入的。 

     

    ② 中间件访问层(MWAL):由arm 负责实现,但芯片厂商需要针对所生产的设备特性

    对该层进行更新。 该层主要负责定义一些中间件访问的 API函数,例如为 TCPIP协议栈、

    SDMMCUSB 协议以及实时操作系统的访问与调试提供标准软件接口。该层在1

    准中尚未实现。 

     

    ③ 设备外设访问层(DPAL):由芯片厂商负责实现。该层的实现与 CPAL类似,负责对

    硬件寄存器地址以及外设访问接口进行定义。该层可调用 CPAL 层提供的接口函数,同时根

    据设备特性对异常向量表进行扩展,以处理相应外设的中断请求。 

     

    …………………………

     

    书籍下载地址(复制到下载工具进行下载):

     

    https://files.cnblogs.com/wenziqi/ARMCortex-M0原理与应用实践.part1.rar

     

    https://files.cnblogs.com/wenziqi/ARMCortex-M0原理与应用实践.part2.rar

     

    注:书籍内容会不定期进行更新!

  • 相关阅读:
    vue+element目录树默认展开和选中
    vue+element目录树初始化和销毁
    vue父组件通过ref获取子组件的值
    [moka同学笔记转载]Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
    [moka同学笔记]JS学习 鼠标事件
    [moka同学笔记]phpStudy for Linux (lnmp+lamp一键安装包)
    [转载]php中序列化与反序列化
    [Node.js学习]初之体验
    [moka同学笔记转载]Yii 设置 flash消息 创建一个渐隐形式的消息框
    [moka同学笔记转载]yii2.0 rbac权限学习笔记
  • 原文地址:https://www.cnblogs.com/wenziqi/p/2358376.html
Copyright © 2020-2023  润新知