大家在里面可以学习到什么是"独立看门狗"和"窗口看门狗",以及一些看门狗使用的一些小技巧,然后再接着看本文内容。
图片 图片来源于 Pixabay
可能在很多小伙伴目前接手的一些项目中根本没有使用到看门狗,前面的文章也说了,并不是每个项目都适合使用看门狗,特别是一些不能强制复位的项目,比如一些拥有复杂关机时序处理的项目,强制复位会带来经济上损失或者人身的安全。
使用看门狗的几点理由:
大部分的项目如果没有使用到看门狗对软件的运行把控会有所降低;
拥有一个强大的看门狗软件也能够快速暴露软件隐藏的问题,并且做好系统故障的收尾工作;
对于处于恶劣的环境中的系统可能会造成一些无法预知的问题,然而系统复位能够缓和这样的异常情况;
复位系统并不会带来负面的问题,那对系统的持续工作是有帮助的,比如很多智能的电表等等测量设备都是会有定期的复位,让系统持续工作。
3、看门狗设计
看门狗软件设计可以非常复杂,也是非常简单,对于看门狗的印象大部分小伙伴基本上可以总结为:“定期喂狗,狗就不会咬你”。
然而这句话的更多的把重点落在了"喂狗"和"狗咬你"这两个动作上,但看门狗软件的设计却是要达到如何喂狗来使得狗来监督整个系统的稳定性和可预见性上。
看门狗软件设计的考虑点:
什么时间喂狗比较合适 ?
多长时间喂狗一次比较合适 ?
什么位置喂狗恰当 ?
如果涉及到多任务优先级系统,在低优先级任务喂狗还是在高优先级喂狗?
在中断中喂狗还是在任务中喂狗?
一旦触发看门狗系统如何进行数据的保存和最后的处理?
。。。。。。
以上这些问题根据具体的系统都会有不同的处理方案,比如喂狗时间太长无法监控到短时间的异常;喂狗位置单一无法监控到全局的软件运行情况;单一任务喂狗出现其他任务挂掉的问题。。。。。。
|