这几天一直在调试看门狗功能,现将调试过程进行下总结:
现象:目标板的JTAG仿真器接上,程序全速运行,“喂狗”信号输出正常,不加JTAG仿真器,目标板重启上电后,“喂狗”信号不输出。
解决过程:刚看到“看门狗”硬件原理图,发现有点古怪,有些说不通的地方,从个人经验上来讲看门狗电路设计的有些不合理,发现如上现象后,更感觉是硬件的问题。而且,有一块电路板将“看门狗”电路去掉后,喂狗信号输出正常,可以拉到3.3v电压,也误导了我认为是看门狗硬件电路的问题,一直在做硬件电路修改。最后,经过仔细的单步调试,发现应用层中调用的延时函数中没有“喂狗”处理,导致CPU不停地被复位。
PS:虽然不是我写的驱动代码,但是花了好几天时间才帮助找到原因真是不应该,以后一定要细心!
阅读(2542) | 评论(0) | 转发(0) |