问题引入
目前STM32CUBEMX已经更新到了6.11版本,对应的固件库也一直在更新;
以STM32F1库为例,目前最新的库对应版本为1.8.5
但是我们会发现,如果直接使用1.8.5版本的固件库生成HAL源码后,烧录是可以烧录,但是程序却无法正确运行;
问题解决
这个实际上是固件库版本过高的问题
切换到低版本的,如1.8.0的就可以成功运行了
具体步骤如下
- 在stm32cubemx里面project选项,找到firmware package name and version字段,取消勾选“use latest”
- 改为选择1.8.0版本固件库
- 此时如果我们之前没有下载对应固件库,可以去ST官网下载,或者直接在cubemx里面登录st账号后下载
- 切换固件库后直接生成代码即可