找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6|回复: 0

看门狗定时器的正确使用哲学

[复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡月天数:2
  • 打卡总奖励:211
  • 最近打卡:2026-02-06 11:44:28

57

主题

0

回帖

410

积分

管理员

积分
410
发表于 2026-2-6 20:39:05 | 显示全部楼层 |阅读模式
看门狗定时器是系统的最后一道防线,但很多同学用错了。常见错误是喂狗位置不对,比如在中断服务程序里喂狗,但主程序已经卡死了。

正确的哲学是:看门狗应该监测系统的“健康”,而不仅仅是“活着”。

我建议采用分层喂狗策略。底层是硬件看门狗,定时很短,比如1秒,监测CPU是否还在执行指令。
高层是软件看门狗,或者叫应用看门狗,监测系统功能是否正常。

比如,你可以创建多个监视任务,每个监视一个关键功能。如果某个功能异常,对应的监视任务就不喂狗。最后,所有监视任务都正常才喂硬件看门狗。这样,即使程序在跑,但功能不正常,系统也会复位。

还有一个高级技巧是记录复位原因。在RAM中开辟一个非初始化区域,复位时不清零,用来记录上次复位是不是看门狗触发的,以及其他调试信息。这样系统复位后可以分析原因。

但是要注意,看门狗也不能滥用。我见过有的系统,因为环境干扰频繁复位,每次复位都要重新初始化,反而降低了可用性。这时候可能需要增加硬件滤波,或者调整看门狗超时时间。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

B站视频|手机版|小黑屋|这堂芯课 ( 陕ICP备2024055690号-1 )

GMT+8, 2026-2-21 23:26 , Processed in 0.047981 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表