stm32bootloader跳到app无法运行问题

场景:

使用hal库, 直接配置了HSE加PLL锁相环, bootloader跳app后程序无法运行.

原因:

程序跳到app后, HAL_RCC_OsConfig函数监测到HSE和PLL启动,不会按照APP的配置进行初始化,

退出前读取RCC->PLLCFGR的配置, 读到的值和配置的值不一致, 返回HAL_ERROR, 执行ERROR_Handler(), 程序卡在while(1).

解决方法:

bootloader不启用PLL锁相环那边的时钟, 直接选用HSI时钟

由于我选择的串口选择的的是921600, 选择8M时钟无法配置这个波特率

总结:

注释掉ERROR_Handler是可以正常运行的

差别还是在于bootloader和App的时钟配置不一样, App开启的外设更多, 开启了PLLQ, 因此这才是问题的原因

这就是HAL库的严谨性, 可以检查我们的编写的漏洞

相关推荐
VBsemi-专注于MOSFET研发定制22 分钟前
奶茶制作机器人功率MOSFET选型方案——高效、精准与可靠驱动系统设计指南
单片机·嵌入式硬件
水云桐程序员2 小时前
单片机项目从入门到精通
单片机·嵌入式硬件
Wave8452 小时前
STM32 裸机中断与 FreeRTOS 中断管理的四大核心差异
单片机·嵌入式硬件
若忘即安3 小时前
【硬件电路设计18】WIFI+BlueTooth
单片机·嵌入式硬件
时空自由民.3 小时前
ESP32 JEPEG作用
单片机
森利威尔电子-3 小时前
森利威尔SL3150H替代MRDC88-1 10V-150V宽压输入、5V固定输出 SOP7封装
单片机·嵌入式硬件·物联网
xiebingsuccess4 小时前
LC谐振电路分析
嵌入式硬件
恒森宇电子有限公司4 小时前
南麟LN1173 低压差LDO线性稳压器芯片
单片机·嵌入式硬件
charlie1145141914 小时前
嵌入式现代C++工程实践——第10篇:HAL_GPIO_Init —— 把引脚配置告诉芯片的仪式
开发语言·c++·stm32·单片机·c
LS_learner4 小时前
ESP-IDF 多版本共存安装方案
嵌入式硬件