STM32F4踩过的坑——无限复位重启之选项字节(Option Bytes)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014674798/article/details/85229064

无限重启

烧写程序后,发现MCU复位脚每隔500ms+就回出现一个低电平复位脉冲
仔细检查复位电路后,未发现信号输入源,因此怀疑是STM32内部输出的复位脉冲(联想到内部看门狗,看门狗可能需要输出复位脉冲给MCU外部的其他电路)

验证IWDG猜想

在while循环中喂狗,发现MCU不再重启,确认是IWDG被使能了;
仔细翻看检查代码后,未发现IWDG的使能代码(难不成IWDG不需要软件开启)

查找IWDG是怎么被开启的

通过搜索引擎查找各种资料后,发现,很可能是STM32的选项字节(Option Bytes)被人修改,或者被盗版J-Link无意间修改了(只是猜测);
验证:通过代码读取选项字节,并打印,发现选项字节的WDG_SW位被清零,与默认值不同,由此确认是选项字节的问题;

修复选项字节

代码修改(未实现,待更新)

工具修改(J-Link STM32 Unlock、ST-Link Utility)

J-Link STM32 Unlock工具
手头没有ST-Link,但是据说ST-Link的修复方式更简单

猜你喜欢

转载自blog.csdn.net/u014674798/article/details/85229064
今日推荐