STM32-HAL库(固件库)升级

1- HAL库为什么要升级?

1、使用官方提供的新功能。

2、上个版本有BUG,下个版本BUG解决了的情况是可能的。不过,上个版本没BUG,下个版本有BUG的情况是有的(微小概率事件)。

2- 查看HAL库版本

打开“stm32h7xx.h”,CTRL+F搜索"version"。

STM32-HAL库(固件库)升级_第1张图片

3- HAL库获取

1、通过官网获取最新HAL库[1]。

2、到ARM Keil官网下载最新的软件包。[2]

Keil官网经常会卡着显示不了后续内容,这时可以用下tizi,或者找别人下好的。同时,该方式获取的包的版本数一般比方法1和方法3的保本数少,意味着HAL库版本一般不是最新的。

STM32-HAL库(固件库)升级_第2张图片

3、通过STM32CubeMX下载

STM32-HAL库(固件库)升级_第3张图片

4- HAL库更新

1、源文件和头文件更新

如果程序使用的是STM32CubeMX结构,那可以在该软件中更新库(由于程序臃肿,不推荐)。又若程序是Keil Software Pack中导入的,应该也可以在Keil中更新。

最直接的方法就是像正点原子教程中STM32初始移植的方式更新HAL库,这时最直接的,虽然上手有一定难度。可参考[5]进行移植。

2、Keil的软件包和HAL库版本要对应。

Keil的软件包中除了包含HAL库中的内容,还包含有Cortex-M内核操作的部分、调试部分等设置,故推荐也更新一下。

3、保持宏定义不变:在HAL库更新后,难免恢复了原本在修改了的HAL库修改了的宏,故要小心。最需要关心的文件就是“stm32h7xx_hal_conf.h”了。

4、边编译边修改工程,直到没有BUG出现为止。

5- 参考链接

[1]【STM32】获取STM32官方固件库 https://blog.csdn.net/skawu/article/details/78507457

[2]MDK5 Software Packs https://www.keil.com/dd2/Pack/#/eula-container

[3] UM2204 Getting started with STM32CubeH7 for STM32H7 Series

[4] UM1718 STM32CubeMX for STM32 configuration and initialization C code generation

[5]STM32学习笔记(一) 如何新建一个STM32工程模板 https://www.cnblogs.com/zc110747/p/4653411.html

你可能感兴趣的:(嵌入式)