在线时间1672 小时
UID90520
ST金币0
蝴蝶豆0
注册时间2008-11-10
管理员
- 最后登录
- 2020-12-9
|
a0a.1 32b0c
如何从 STM32F10xxx 固件库 V2.0.3升级为 STM32F10xxx 标准外设库 V3.0.0
介绍
本文的目的是介绍如何把基于STM32F10xxx固件库V2.0.3(FWLib)开发的应用程序升级到STM32F10xxx标准外设库V3.0.0。本文的目的不是提供2个版本的详细信息,而是重点介绍2个版本之间的差异。
注意: 文中,除非特别指明,固件库(FWLib)代表STM32F10xxx固件库V2.0.3,而标准外设库(StdPeriph_Lib)代表STM32F10xxx标准外设库V3.0.0。
术语表
小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx,STM32F102xx和STM32F103xx微控制器。
中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx,STM32F102xx和STM32F103xx微控制器。
大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。
1 为什么把STM32F10xxx固件库(FWLib)V2.0.3升级为标准外设库(StdPeriph_Lib)V3.0.0
STM32F10xxx固件库(FWLib)V2.0.3是一个完整的固件包,它适用于STM32F10xxx小容量,中容量和大容量产品。固件库由程序,数据结构和宏组成,覆盖了所有外设的特征,还包括了全部标准外设的驱动和一系列示例程序。
STM32F10xxx标准外设库(StdPeriph_Lib)V3.0.0由固件库(FWLib)V2.0.3升级而来:
● 它使库与CortexTM微控制器软件接口标准(CMSIS)兼容
● 改进了库包的体系结构
● 源代码符合Doxygen格式
● 升级不影响STM32外设驱动的API(应用编程接口)
注意: 标准外设库(StdPeriph_Lib)V3.0.0只对STM32F10xxx CAN驱动进行了升级,目的是支持即将面世的STM32F10xxx连接型产品(带双CAN)。
要升级到STM32F10xxx标准外设库V3.0.0,用户只需要更新:
● 与工具链相关的文件
● 项目(project)设置
● 库文件的位置
● 用户无需改变或者更新应用程序的代码
下文详细描述了标准外设库(StdPeriph_Lib)的所有更新细节。
1.1 兼容ARM® Cortex-M3TM微控制器软件接口标准(CMSIS)
CMSIS可以解决用户在基于Cortex-M0/Cortex-M1或者Cortex-M3内核的微控制器上进行软件开发时可能遇到的种种问题。CMSIS还可以扩展,应用在将来的Cortex-M系列处理器内核上(标准称为Cortex-Mx)。CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。可以访问网站www.onarm.com获取更多细节。
1.1.1 CMSIS描述
CMSIS可以分为多个软件层次,ARM提供了下列部分,可用于多种编译器:
● 内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助手函数。同时也为RTOS(实时操作系统)定义了独立于微控制器的接口,该接口包括调试通道定义。
● 中间设备访问层:为软件提供了访问外设的通用方法。芯片供应商应当修改中间设备访问层,以适应中间设备组件用到的微控制器上的外设。目前中间设备访问层仍处于开发过程中,本文不做详述。
芯片供应商扩展下列软件层:
● 微控制器外设访问层:提供片上所有外设的定义。
● 外设的访问函数(可选):为外设提供额外的助手函数。
CMSIS为Cortex-Mx微控制器系统定义了:
● 访问外设寄存器的通用方法和定义异常向量的通用方法。
● 内核设备的寄存器名称和内核异常向量的名称
● 独立于微控制器的RTOS接口,带调试通道
● 中间设备组件接口(TCP/IP协议栈,闪存文件系统)
1.1.2 CMSIS结构
图1展示了基于CMSIS的应用程序的基本结构。
图1 CMSIS层结构
|
|