- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
固件库升级笔记
固件库升级1.STM32F10xxx固件库(FWLib)V2.0.3升级为标准外设库(StdPeriph_Lib)V3.0.STM32F10xxx标准外设库(StdPeriph_Lib)V3.0.0由固件库(FWLib)V2.0.3升级而来:(1)它使库与CortexTM微控制器软件接口标准(CMSIS)兼容(2)改进了库包的体系结构(3)源代码符合Doxygen格式(4)升级不影响STM32外设驱动的API(应用编程接口) 注意:标准外设库(StdPeriph_Lib)V3.0.0只对STM32F10xxx CAN驱动进行了升级,目的是支持即将面世的STM32F10xxx连接型产品(带双CAN)。注释:Doxygen格式注释风格可以通过Doxygen工具直接生成手册等帮助文档。2.要升级到STM32F10xxx标准外设库V3.0.0,用户只需要更新: (1)与工具链相关的文件(2)项目(project)设置(3)库文件的位置:即目录结构,其变化可参照下图。(4)用户无需改变或者更新应用程序的代码,有一些宏定义发生了改变。注释:CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。3.CMSIS与v2.0.3差别(1)对每一个Cortex-M3异常和STM32的IRQ,有:─异常服务程序带后缀_Handler,中断服务程序带后缀_IRQHandler 。─弱定义(Weak)的默认异常/中断服务程序,包含一个无限循环─带_IRQn 后缀的中断号码“#define”启动文件更名为”startup_stm32f10x_xx.s/.c”,其中xx可以是hd,md或者ld,分别对应大容量,中容量,小容量产品。(2)只提供精简的NVIC和SysTick函数,其他一些常用函数作为一个新的驱动加入 STM32F10xxx标准外设库,文件命名为misc.h/.c。(3)某些宏的名字与STM32F10xxx固件库V2.0.3中的相同功能宏不同(见表1)4.Stm32体系结构5. STM32F10xxx标准外设库包文件夹描述表1. 固件库目录结构表2. CMSIS目录结构6. STM32F10xxx标准外设库变动列表6 .1 STM32F10xxx标准外设库文件6.1.1 库的内核文件 (1)文件stm32f10x.h更名为stm32f10x.h。它包含─ STM32 中断IRQ 列表─ Cortex-M3 内核的特别选项─ STM32 外设存储器映像和寄存器物理地址定义─专用define “__STM32F10X_STDPERIPH_vERSION”表示 STM32F10xxx 标准外设库的版本─配置信息: a) 应用程序需要选择运行它的 STM32 产品具体型号,每个产品只要一个define b) 应用程序需要选择是否使用外设驱动(2)移除了Debug模式,因此在调试时不再可以通过一个监视窗口观察外设寄存器,但是可以利用特定工具链的调试功能监视外设的寄存器。因此,移除/更新下列文件:─ main.c:把#ifdef DEBUG 替换为#ifdef USE_FULL_ASSERT ─移除文件stm32f10x_lib.h,它的内容合并到文件stm32f10x_conf.h ─移除文件stm32f10x_lib.c ─更新文件stm32f10x_conf.h: a) 移除“#define DEBUG 1”,为完全断言函数增加专用define “#define USE_FULL_ASSERT 1” b) 不再需要枚举式地define 用到的外设(如#define _USART, #define _USART1, #define _USART2) c) 用户需要去掉相关行的注释符号来使用相应外设驱动,例如,想使用 SPI 驱动,去掉 #include “stm32f10x_spi.h”这行的注释符号即可─用文件stdint.h替换文件stm32f10x_type.h,出于兼容旧版本库的目的,在文件stm32f10x.h 中保留了原有的类型定义。在文件stm32f10x.h 中添加一些标准外设库专用的类型定义(bool, FlagStatus, ITStatus, FunctionalState, ErrorStatus)。─移除文件cortexm3_macro.h 和 cortexm3_macro.s,因为CMSIS 文件覆盖了它们的内容。注意:标准外设库提供了一个名为”Lib_DEBUG”的特别示例,示范了如何为选中的外设定义DEBUG功能。6.1.2
原创力文档


文档评论(0)