STM32 CM3程序设计.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32 CM3程序设计

第3章 STM32程序设计 主讲:朱兆优 CM3微控制器软件接口标准(CMSIS) 1、CMSIS简介 2、CMSIS架构 3、CMSIS文件结构 4、CMSIS支持的工具链 5、CMSIS中的中断定义 6、CMSIS中的编程约定 7、CMSIS实例 8、总结 CMSIS简介 Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM提出,专门针对Cortex-M系列的标准。在该标准的约定下,ARM和芯片厂商将提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱、时间上的消耗。只要都是基于Cortex-M3的芯片,代码均是可以复用的。 CMSIS的架构 CMSIS可以分为以下三个基本功能层; 1、核内外设访问层 Core Peripheral Access Layer (CPAL) 2、中间件访问层 Middleware Access Layer (MWAL) 3、设备访问层 Device Peripheral Access Layer (DPAL) CMSIS文件结构 CMSIS首先对文件名的定义给出了标准 1、core_cm3.h Cortex-M3 global declarations and definitions, static function definitions(内核设备访问层头文件) 2、core_cm3.c Cortex-M3 global definitions (--源文件) 3、device.h Top-level header file (device specific). To be included by application code.Includes core_cm3.h and system_device.h (微控制器外设访问头文件) 4、system_device.h Device specific declarations (--头文件) 5、system_device.c Device specific definitions (--源文件) e.g: SystemInit() 应用程序只需包含device.h 即可。 由于Cortex-M3有一些可选硬件如MPU,在device.h中包含core_cm3.h和system_device.h时需注意以下一点,以STM32.h为例。 /* Configuration of the CM3 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 */ #define_Vendor_SysTickConfig 0 /*! Set to 1 if different SysTick Config is used */ #include core_cm3.h /* Cortex-M3 processor and core peripherals */ #include system_stm32.h /* STM32 System */ 即需定义以上三个宏之后,再包含相应的头文件,因为这些头文件中用到了这些宏。 注意:如果_Vendor_SysTickConfig 被定义为1,则在cm3_core.h中定义的SysTickConfig()将不被包含,因此厂商必须在device.h中给以实现。 CMSIS的编程约定 1.标识符 Core Registers, Peripheral Registers, CPU Instructions.用大写字母定义 例如:NVIC-AIRCR, GPIOB, LDMIAEQ 外设访问函数以及中断和中断处理函数用大小写(“CamelCase)定义 例如:SysTickConfig(),DebugMonitor_IRQn 对一些外设的操作函数前面将相应的前缀 例如:ITM_SendChar(),NVIC_SystemReset() 2.注释 /** * @brief Enable Interrupt in NVIC Interrupt Controller * @param IRQn_Type IRQn specifies

文档评论(0)

erfg4eg + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档