嵌入式软件设计(看门狗)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        看门狗是嵌入式软件设计的重要一个环节。记得还在上海上班的时候,当时开发就涉及到看门狗的操作了,印象非常深刻。我们开发的设备因为是电信类的设备,本身电信系统使用的就是vxworks os,硬件也是双备份的,按道理非常稳定才对,但就是这样还是会经常发生系统程序跑飞的情况。因此,在mcu软件里面添加定时喂狗的操作代码是非常重要的。

        watchdog,中文翻译为看门狗。它的原理非常简单,但是意义却非常重大,就是reset cpu置位。再稳定健壮的代码,也会有程序跑飞的情形发生。这主要是因为,在现实场景下,客户的需求是不断变化的,甚至很多时候,前后需求是很矛盾的,这就要软件设计同学及时对客户的需求做出响应的同时,还要保证代码的正确性。当然,如果变更的代码过多,就很容易造成代码不稳定的情况发生。因此,实际开发中一般默认程序有一个最大执行时间,比如500ms,那么可以设置一个600~800ms的看门狗,只要整个系统没有在规定的时间内喂狗,那么软件就会自动复位重启。

        有的同学也许会说,何必如此麻烦,直接派人去维护重启不就好了。有这种想法的同学可能对嵌入式设备的部署环境缺少认识。很多嵌入式设备都是放在很复杂、很危险的地方,除了必要的电源和散热设备外,很多时候都是无人值守的。这些设备不要说派人保养,就是周期去检查一遍也是不太容易的一件事情。

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/125130912