问题描述:烧录了一个开启看门狗但是不喂狗的程序,根据LED判定看门狗已经运行,芯片循环复位。看门狗定时:Watchdog_setReload(watchdogHandle,100000);,之后芯片就不能烧录了,也无法连接,已经损坏两片芯片。烧录软件smartRF Flash Programer 2,编程器XDS100 V3
疑问1:是不是看门狗复位导致芯片下载失败?
疑问2:损坏的芯片是否能恢复。如果能,如何恢复?
疑问3:如何使用看门狗而不影响程序下载?
da qin zheng sheng:
看门狗应该不影响的。
da qin zheng sheng:
检查电源或者晶振等硬件
Viki Shi:
1&3、跟程序没关系的,没遇到过看门狗复位导致芯片损坏的
2、确定芯片坏了吗?电压量过没?
user5315828:
回复 Viki Shi:
1.这个板子我用了好几周了,一直没问题,老板要求添加看门狗;
2.烧录看门狗程序后程序也正常运行,用LED闪烁指示;
3.再烧录程序就烧不进了,flash programmer 2右击connect也连接失败,测电源无异常,程序也不运行了;
4.同一个板子,换了一个cc2640,程序可以烧写,LED闪烁指示程序运行,再次下载又不行了;
5.去掉看门狗程序,换了一个相同的板子,一切正常,程序反复烧写没问题。
我感觉是看门狗在烧录程序的时候没有关闭,复位了芯片,导致芯片异常。
有什么解决方法么?
user5315828:
回复 Viki Shi:
问题完美解决!
我改了一下看门狗代码,在回调里面喂狗,问题没有了。
看了一下你给链接,找到原因所在:原来的程序只开启看门狗不喂狗,复位后没有清除已经溢出的看门狗标志位。