STM32 Bootloader异常复位案例# E0 J* C6 ^- V1 ? 前言 , X' d9 `0 x% K* e2 p3 v 客户反馈通过 PC软件 flashloader 不能够跟 STM32 MCU自带 bootloader 连接。并且系统运行一段时间后异常复位。 系统分析 检测原理图 :
检测所有相关的硬件软件都是没有问题,他们的 boot 脚,以及之前的 PDR_ON 是通过外围的 FPGA 单元控制,我们一开始怀疑这些上电时序,以及 PDR 逻辑出错。尝试让他们全部断开逻辑,测试整个上电,掉电过程都是没有什么问题。 ) D% t7 c' K1 ~5 f 测量波形: ' F Q o+ T' [8 t3 b# `0 L ; ? _( e1 J* A5 o 检测他们的串口工具 " Q: w9 t; m" _+ S; Y/ M7 @
使用一个新的串口工具,当产品连接到 PC 后,重新上电,能够正常升级软件,到这里似乎问题得到解决,但是当他们恢复到之前的系统,通过控制 reset 和 BOOT引脚进入的时候,仍然时灵时不灵,当不能进入 BOOT 的时候,他们测量我们的复位管脚电压时发现在复位脚上以一个 3.6MHz 的频率不停的复位 MCU. 7 R0 @3 `* _8 z5 U0 d6 r" v& r y J) _3 b4 e # ~! R+ a9 L# ^2 ]( K2 B/ e |
已阅 |
蠻特殊的經驗 , 學習了 |
已读 |
谢谢分享 |
请问如何把 内部Flash 分成三个区: Bootloader / 正常程序区域/ 下载的 更新程序区域/ ; 当下载的程序区域 代码校验正确的时候,才开始复制其到正常程序区/ 如果复制失败,则重启,Bootloader 再次复制,直到成功/ |