您好,欢迎光临本网站![请登录][注册会员]  
文件名称: STM32固件库2.03与3.0版本的比较中文版
  所属分类: C
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-04-20
  提 供 者: taxi*****
 详细说明:本文的目的是介绍如何把基于STM32F10xxx固件库V2.0.3(FWLib)开发的应用程序升级到STM32F10xxx标准外设库V3.0.0。本文的目的不是提供2个版本的详细信息,而是重点介绍2个版本之间的差异。如何从 固件库 升级为 标准外设库 为什么把 固件库 升级为标 准外设库 固件斥 是·个完整的固件包,它适用于 小容量,中 容量和大容量产品。固件库由程序,数据结构和宏组成,覆盖了所有外设的特征,还包括了全 部标准外设的驱动和一系列示例程序。 标准外设库 山固件库 升级而来 ●它使库与微控制器软件接口标准 兼容 改进了库包的体系结构 ●源代码符合 格式 ●升级不影响 外设驱动的应用编程接口 注意:标准外设库 只 邪动进行了升级,日的是支持即将面 世的 送接型产品带双 要升级到 标准外设库,用户只需要更新: ●与工具链相关的文件 项目 设置 库文件的位置 用户无需改变或者更新应用程序的代码 下文详细描述了标准外设库 的所有更新细节。 兼容 微控制器软件接口标准 可以解决用户在基」 或者 内核的微控制器上进行软件廾 发时可能遇到的种种问题。 还可以扩展,应用在将来的 系列处理器内核上标准 称为 是公司与多家不同的芯片和软件供应商一起紧密合作定义的,提 供了内核与外设、实时操作系统和中间设备之间的通用接口。可以访问网站 获 取更多细节。 描述 可以分为多个软件层次,提供了下列部分,可用于多种编译器: ●内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助于函数 同时也为 实时操作系统定义了独立于微控制器的接口,该接口包括调试通道定义 中间设各访问层:为软件提供了访问外设的通用方法。芯片供应商应当修改中间设备访问 层,以适应中间设备组件用到的微控制器上的外设。目前中间设备访问层仍处于开发过程 中,本文不做详述。 芯片供应商扩展下列软件层: 微控制器外设访问层:提供片上所有外设的定义 外设的访问函数可选:为外设提供额外的助手函数。 为 微控制器系统定义了 访问外设寄存器的通用方法和定义异常向量的通用方法 內核设备的寄存器名称和内核异常向量的名称 独立于微控制器的接口,带调试通道 中问设备组件接口 协议栈,內存文件系统 3/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库 升级为 标准外设库 结构 图展示了基于 的应用程序的基本结构。 图 层结构 用户 应用程序代码 操作系统 实时内核 中间件 内核外设函数 巾问件函数器仆级外设函数 CMSIS 外设寄存器和中断向量定义层 微控制器 Cortex Sys Tick 小V|G CPU 实叶内核 嵌套向量 调试跟踪其它外设 定时器 中断控制器 接口 ai15990 外设访问层的文件 立编译器的文件; 内核及其设备文件 访问 内核及其设备 等 访问 的寄存器和内核外设的函数 ●微控制器专用头文件 指定中断号码与启动文件一致 外设寄存器定义寄存器的基地址和布局 控制微控制器其他特有的功能的数可选 ●微控制器专用系统文件 数 ,用来初始化微控制器 函数 ,用来配置外部存储器控制器。它位于文件 ,在跳转到前调用 ,该值代表系统时钟频率 微控制器的其他功能可选 编译器供应商微制器专用启动文件 ●编译器启动代码汇编或者 微控制器专用的中断处理程序列表与头文件一致 弱定义 的中断处理程序默认函数可以被用户代码覆盖 注意:米鍵字指示编译器弱导出符号。该关键字可以用数和变量的声明,以及数的定义。 使历 定义的所数将弱导H其符号。除非将相同名称的定义所数链接到相同映像 上,否则定义数的行为与正常定义的函数类。如米非定义数和的定义数位于相何 4/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库 升级为 标准外设库 像中,则会将对弱定义版数的所有调用解析为对弱的数的调用。如果有多个用的弱定 义,链接器将选择荩中的一个弱定义供所有调用使用。 固件库 和 对比 对 固件斥 的某些功能采用了不同的实现方法。下面列出主要的区 别 ●使用标准类型,文件 对每一个 异常和 的,有 异常服务程序带后缀 ,中断服务程序带后缀 定义 的默认异常中断服务程序,包含个无限循环 后级的中断号码 启动文件更名为 ,其中可以是 或者,分别对应人容 量,中容量,小容量产品 ●只提供精简的和 函数,其他一些常用函数作为一个新的驱动加入 标准外设库,文件命名为 ●某些宏的名字与 固件库 中的相同功能宏不同见表 表 固件库 宏对比 宏 宏 宏 宏 加粗的字体表示这些宏有变化。灰色的充填色表示这些改动影响到固件库 的驱动或者例程 标准外设库: 格式 标准外设库的源代码采用了新的格式,所有源文件都按照 格式书写,用 这种书写格式的代码能够很便利地牛成更加规范且內在关联性更强的文档, 将从意法半导体微控制器网站 撤下现有的 同件库用户于册 而由 生成的文件取而代之。该文件完整地描述了 标 准外设库的全部组件。 例程: brief Reads the specified input port pin param GPIOx: where x can be (A. G)to select the GPIO peripheral k param GPio Pin: specifies the port bit to read This parameter can be GPIo Pin x where x can be (0.. 15 5/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库升级为 标准外设库 retval: The input port pin value 其中: 一行简洁的函数功能描述 函数的参数详解 函数的返回值详细信息 可以参阅 获取更多相关细节 标准外设库体系结构 改进了 标准外设库的体系结构并支持 层 根据应用程序的需要,可以采取种方法使用标准外设库 使用外设驱动:这时应用稈序开发基于外设驱动的应用编稈接口。用户只需要配置文 件 并使用相应的文件 即可 不使用外设驱动:这时应用程序开发基于外设的寄存器结构和位定义文件 标准外设库 支持 系列全部成员:大容量,中容量和小容量产品 根据使用的 产品具体型号,用户可以通过文件 中的预处理 来配置标 准外设库 ,一个对应一个产品系列。下面列出支持的产品系列 小容量产品 中容量产品 大容量产品 这些 的作用范围是 ●文件 中的中断定义 ●启动文件中的向量表,小容量,中容量,大睿量产品各有一个启动文件 ●外设存储器映像和寄仔器物埋地址 ●产品设置:外部晶振的值等 ●系统配置函数 ●非全系列兼容或不同型号产品间有差异的功能特征 注意:这些不公影购外设的驱动,驱动支持 全系例全部外设的功能特征。 标准外设库体系结构:文件包含关系 图展示了 的文件包含关系 6/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库升级为 标准外设库 图 标准外设库体系结构 App ication.c ARM公司提供 stm32f10x it.C stm32f1 Ox h core m3. h system stm32.h system_stm32.c stm32f1ox it h stm32f10x con.h mIsc. c stm32f10Xppp.c k-Hstm32110x_rcc.h misc. h stm32110X_ppp. h sTM32微控制器 固件厍 存档 仍然会在 网站 上保留 固件库 及其全部相关固件。所有的文件包含在一个名称 为 的压缩包中,可在网页的 栏目下载。该栏目可 以直接通过下列地址访问 除了这个归档文件,还提供一个名为 的补丁压缩 包,可以修复固件库的全部局限性。 7/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库 升级为 标准外设库 标准外设库包 为了使 标准外设库的使用更加灵活,也为了改进了库的结构,更新了 固件库包,添加专用子文件夹来包含 及其外设访问层相关文件。 标准外设库包重命名为 新包的体系结构如图所示。 图 标准外设库包结构 Eo STM32F10x_StdPeriph_ Lib_v3.0.0 E-G CMSIS Librarie o Core Le CMSIS O CM3 =I-C STM32F10x_ StdPeriph_Driver Eo startup Inc ED arm sTC startup stm32f1 Ox hd -.0 Project o Example 3如之④ s +0 ADC o gcc 位BKP G] star up_stm 32/10x_hd.c TAN G star: up_stm32F10x_ld.c +c CortexM3 cI star up stm32F1 O:_md c +o CRC +0 DAC startup stm32f1 Ox a DMA star up stm 32f1OK ++:+:++:+ G EXTI C star up stm32F1 0N_md s FLASH c] core_cm3.c FSMC h] core_cm3. h GPIO h] slm32F10xh 120 c system_stm 32#1 Oxc +|25 sustem stm32f1 Ox h 白wDG Documentation +o Lib_dEBUG G OMSIS_Core.htm +位NC +0 PwR +a Rtc +0 SDIO +-O SPI SysTick +0 USART +0 WwDG =l-c Template +0 EWARMY5 +0 RIDE +0 RWMDK C main.c hI stm3210× cont. h c stm32f1% it.c hI stm32f1 OK it. h +o STM3210 EwAL e Release Notes.html 3 stm 32F1OK_stdperiph-lib_um. chm 8/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库 升级为 标准外设库 新包描述 描述了所有在标准外设库包里的新文件夹 衣 标准外设库包文件夹描述 本文件夹包 含了用于 木文件夹 标准外设 包含了所 和 的项 库驱动的 见表有的 评信模板示日模板示的项目模完整例程标准外没库驱标准外设库驱 的项目 页面资源 动源文件 动头文件 板的专用驱例 例 板示例 表是 文件夹的结构 衣 文件夹结构 本文件夹包含 文件:微控制器外设访问 层和内核设备访问层 的 内核设备访问层头 编译器启动文 编译器启动文 编译器动文文件 件 件: 的 内核设备访问层源 大容量产品 大容量产品 大容量产h文件 文档 启动文件 启动文件 启动文件 微控 中容量产品 中容量产品 中容量产品制器外设访间层头文件 启动文件 启动文件 启动文件 微 小容量产品 小容量产品 小容量产品制器外设访间层头文件 启动文件 启动文件 启动文件 的 控制器外设访问层源文件 9/22 参照年月 英文第版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在网站下载更新版本 如何从 固件库 升级为 标准外设库 原 固件库包与新 标准外设库包对比 图 新函数包与原函数包对比 日◎STM3F1 IxFWLiD G STM32F10x_StdPeriph_Lib_ V3.0.0 日 O PwLib +o_htmresc -G Libraries In Bray C CMSIS 口core CM3 D proe B-O startup +- EWARMv4 日am G EWARMv5 STartup_stm32/10%_hd.s Ccortexm3_macros C startup_stm32/10.lds a Project. ewd tartup stm32f10x_ md 回 Project ewp A)Project.eww 目 readme. tx GHslatup_stm32/10_hd.c startup_stm32110K ldc sstm32(._flathict a startup_stm32/10%.md 9 strm32(10x_flash_extsramicf i B/10x_.noticf startup stm32F10 hd. s icf startup stm32f10K ld a stm32f10x_vector c arup stm32f1 Ok md HIm 日白FDE h L cortex_macros h slm3211 0xh 回Po c] system_stm3210.c stem stm3210 h readme txt imai h extre 日 G RVMD L cortex_macros 回 Project.O 习 Project UY2