Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

看门狗

说明

  • 看门狗用于在程序跑飞, 死锁或长时间阻塞时, 自动拉起系统复位.
  • 在嵌入式系统中, 常见有独立看门狗和窗口看门狗两类.

窗口看门狗

看门狗

使能后, 常见会在以下两种情况下触发 RESET:

  • 在计数寄存器值仍大于窗口值时, 过早重写计数寄存器.
  • 计数器递减到下限以下, 发生超时.

使用建议

  • 喂狗动作应放在“主流程正常完成”的检查点, 不要随便在任意中断里无条件喂狗.
  • 对有 RTOS 的系统, 可把关键任务健康状态汇总后再统一喂狗.
  • 初始化阶段, 长耗时 Flash 擦写或升级流程中, 要提前考虑喂狗窗口.
  • 如果系统支持, 复位后要记录复位原因, 方便排查异常来源.

调试建议

  • 先确认超时周期是否覆盖最慢正常路径.
  • 故意制造阻塞, 死循环或任务卡死, 验证看门狗是否按预期复位.
  • 对窗口看门狗, 还要验证“喂得太早”是否同样能触发保护.

相关文档