不明白你说的死掉是什么意思。msp430的看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。看门狗模式的使用方法:当看门狗计数溢出时,程序复位。在程序中开启看门狗,在计数溢出前清空看门狗,或重置看门狗,以使其重新计数。若程序跑飞,看门狗可能没有被清空或重置,就会溢,使程序复位。
在嵌入式系统中,由于MCU常常会受到来自外界电磁场的干扰,造成程序跑飞而陷入死循环,无法继续工作,整个系统陷入停滞状态,发生不可预料的后果,所以出于对运行状态进行实时监测的考虑,便产生了一种专门用于监测系统程序运行状态的芯片或程序,俗称"看门狗"(watchdog) 。看门狗分为硬件看门狗和软件看门狗,原理是一样的,即在系统运行以后就启动看门狗的计数器,看门狗开始自动计数,如果到了一定的时间还不去清看门狗(俗称喂狗),那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。看门狗对恢复系统的正常运行有很好的应用价值如果是你的应用打开看门狗,那你kill的话,看门狗随着应用推出,就关闭了,两种方式验证:
linux系统开启看门狗,自己写一个应用程序只定时喂狗
两个程序,你个用于开启/关闭看门狗,另外一个程序只处理喂狗
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)