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库的严谨性, 可以检查我们的编写的漏洞

相关推荐
不悔哥4 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子4 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡4 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡4 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9664 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛4 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅4 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员4 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程