看门狗在嵌入式系统中的作用是个什么?
嵌入式工控人
2024年01月07日 07:00

一开始我也不太理解看门狗的概念,这在非嵌入式软件开发里是用不到的。你没法想象专门写一段代码是用来让程序reset的,有毛病?!

刚好,我这里有一份经过我精心整理的嵌入式料资!分享我在专业领域十年经验总结和工具包,无偿分享。在评论区回复“222”之后私信回复“22”,即可拿走。

可在嵌入式开发里确是必要的。最大的原因就是嵌入式软件大多跟底层直接打交道这会导致各种不可软恢复的未知问题,隐蔽且原因五花八门。你可以改善软件逻辑来尽量避免这些问题。可你不能保证一定不会出现奇怪的问题。比如代码进入了一个无意义的死循环,或者电涌导致程序跑飞。那么如何解决?

看门狗就是统一解决这种问题的,方法暴力但有效,就是重启cpu。你的程序需要在正常代码中埋入定期喂狗的处理,也就是定期通知看门狗我还活着可别重启呀!如果到时间没有喂狗,硬件看门狗就会认为你出事儿了,于是毫不留情的强制重启。你知道的,以前在网吧电脑出事儿了老板就会使用重启大法,简单暴力但好用。