1

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

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/125130912
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

嵌入式软件设计(看门狗)_费晓行的博客-CSDN博客

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK