|
STM32 Bootloader异常复位案例( i. [1 {8 [; c7 a+ R: _# j 前言 ' n$ X# l6 [$ r# n 客户反馈通过 PC软件 flashloader 不能够跟 STM32 MCU自带 bootloader 连接。并且系统运行一段时间后异常复位。8 {( n* ~+ [; a 6 ]* |5 o$ v# d! _( G& } n 系统分析 2 w: ~- i! m3 O$ w+ S+ v . I- L- ?8 n6 E0 X3 i 检测原理图 :
检测所有相关的硬件软件都是没有问题,他们的 boot 脚,以及之前的 PDR_ON 是通过外围的 FPGA 单元控制,我们一开始怀疑这些上电时序,以及 PDR 逻辑出错。尝试让他们全部断开逻辑,测试整个上电,掉电过程都是没有什么问题。1 f& B8 X9 f8 @ " m( Z- W+ I" S5 n 测量波形: 4 N* h( u2 S6 r* \ 检测他们的串口工具 ) B' l) @* j! k: [
使用一个新的串口工具,当产品连接到 PC 后,重新上电,能够正常升级软件,到这里似乎问题得到解决,但是当他们恢复到之前的系统,通过控制 reset 和 BOOT引脚进入的时候,仍然时灵时不灵,当不能进入 BOOT 的时候,他们测量我们的复位管脚电压时发现在复位脚上以一个 3.6MHz 的频率不停的复位 MCU. 2 g2 x2 O8 g: o& r9 j) v
" h: K( } }2 Y; \! H5 s% h |
| 已阅 |
蠻特殊的經驗 , 學習了 |
| 已读 |
| 谢谢分享 |
| 请问如何把 内部Flash 分成三个区: Bootloader / 正常程序区域/ 下载的 更新程序区域/ ; 当下载的程序区域 代码校验正确的时候,才开始复制其到正常程序区/ 如果复制失败,则重启,Bootloader 再次复制,直到成功/ |
微信公众号
手机版