|
如何从 STM32F10xxx 固件库 V2.0.3升级为 STM32F10xxx 标准外设库 V3.0.0% }- h& }5 u0 t: D1 p; U 介绍 " n8 P$ K( B) D9 Y/ Y' i 本文的目的是介绍如何把基于STM32F10xxx固件库V2.0.3(FWLib)开发的应用程序升级到STM32F10xxx标准外设库V3.0.0。本文的目的不是提供2个版本的详细信息,而是重点介绍2个版本之间的差异。 3 k4 W4 c. B' @) r7 H 注意: 文中,除非特别指明,固件库(FWLib)代表STM32F10xxx固件库V2.0.3,而标准外设库(StdPeriph_Lib)代表STM32F10xxx标准外设库V3.0.0。 & q2 ], G$ U$ Y% `" T 术语表 2 y$ Y. a `. ] 5 @1 p+ Q& T3 }- _" R 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx,STM32F102xx和STM32F103xx微控制器。 中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx,STM32F102xx和STM32F103xx微控制器。 $ W7 R( U# v/ T, J% l $ J- N7 J$ M6 N* M4 p8 S 大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。 * }; t4 ?) h4 o 1 为什么把STM32F10xxx固件库(FWLib)V2.0.3升级为标准外设库(StdPeriph_Lib)V3.0.0 STM32F10xxx固件库(FWLib)V2.0.3是一个完整的固件包,它适用于STM32F10xxx小容量,中容量和大容量产品。固件库由程序,数据结构和宏组成,覆盖了所有外设的特征,还包括了全部标准外设的驱动和一系列示例程序。 # q5 ]( a5 B- U6 l: L( g1 x STM32F10xxx标准外设库(StdPeriph_Lib)V3.0.0由固件库(FWLib)V2.0.3升级而来:8 {3 r1 [" b* l( d0 _0 `1 L, C ● 它使库与CortexTM微控制器软件接口标准(CMSIS)兼容 ● 改进了库包的体系结构' @0 J; G/ H# }$ |( r1 ~- A ● 源代码符合Doxygen格式 ● 升级不影响STM32外设驱动的API(应用编程接口) , z" i# L# Z( z- F 注意: 标准外设库(StdPeriph_Lib)V3.0.0只对STM32F10xxx CAN驱动进行了升级,目的是支持即将面世的STM32F10xxx连接型产品(带双CAN)。 要升级到STM32F10xxx标准外设库V3.0.0,用户只需要更新: ● 与工具链相关的文件 ● 项目(project)设置 ● 库文件的位置 ( D' A! d5 s1 Q4 Z: d2 L, D+ @9 \* u ● 用户无需改变或者更新应用程序的代码 P% A+ ?- N2 n/ G0 n / u3 @6 Q* b- @" W9 ` 下文详细描述了标准外设库(StdPeriph_Lib)的所有更新细节。 5 F( j3 {1 W0 a6 i, l 1.1 兼容ARM® Cortex-M3TM微控制器软件接口标准(CMSIS) ) \( F% o* k5 w9 z0 | CMSIS可以解决用户在基于Cortex-M0/Cortex-M1或者Cortex-M3内核的微控制器上进行软件开发时可能遇到的种种问题。CMSIS还可以扩展,应用在将来的Cortex-M系列处理器内核上(标准称为Cortex-Mx)。CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。可以访问网站www.onarm.com获取更多细节。 , [5 ?( F. Z# L 1.1.1 CMSIS描述 " [2 m0 \# Z" D! E) Y! S CMSIS可以分为多个软件层次,ARM提供了下列部分,可用于多种编译器: ● 内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助手函数。同时也为RTOS(实时操作系统)定义了独立于微控制器的接口,该接口包括调试通道定义。 ● 中间设备访问层:为软件提供了访问外设的通用方法。芯片供应商应当修改中间设备访问层,以适应中间设备组件用到的微控制器上的外设。目前中间设备访问层仍处于开发过程中,本文不做详述。 芯片供应商扩展下列软件层: ● 微控制器外设访问层:提供片上所有外设的定义。% ]' N8 W; {6 ~& F2 ^- q$ m; q ● 外设的访问函数(可选):为外设提供额外的助手函数。0 v2 o% N: \' V' Q9 f) ~& A3 n CMSIS为Cortex-Mx微控制器系统定义了: ● 访问外设寄存器的通用方法和定义异常向量的通用方法。 ● 内核设备的寄存器名称和内核异常向量的名称 ● 独立于微控制器的RTOS接口,带调试通道 ● 中间设备组件接口(TCP/IP协议栈,闪存文件系统) / r1 X; I, K/ g; t* n 1.1.2 CMSIS结构 * E& q& ]3 ]$ f( B % X& c1 Z6 T* L! c 图1展示了基于CMSIS的应用程序的基本结构。 图1 CMSIS层结构
|
| 下载链接有问题 |
| 支持~~~~~~~~~~~~ |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版