科技 · 创新 · 未来

程序卡死怎么办?用庐山派玩懂 WDT 看门狗

6abefb18ab94a - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新






















前言


程序卡死了,怎么办?

有人在旁边,还能手动重启。

可设备要是长期无人值守呢?

6abefb1921b50 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

这时候,就需要一个

能“盯着程序”的东西——

WDT 看门狗。

程序正常,按时“喂狗”。

程序真卡死了,

超时就自动复位。

这期继续用 立创·庐山派 K230-CanMV / Lite-K230D-CanMV,看看“喂狗”到底是什么,再实际跑一遍:

正常喂狗不复位,

停止喂狗后自动重启。

为什么一停喂,

过几秒开发板就自己重启了?

往下看~














WDT,就是程序的“安全员”




WDT 全称 Watchdog Timer,也就是看门狗定时器。

平时程序正常运行,就定期告诉它:

“我还好好的。”

这个动作就叫——喂狗。

如果程序卡死,长时间没再喂狗,

WDT 等到超时后,就会让系统重新启动。

具体怎么工作的,直接看图。

6abefb1966d0d - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新
6abefb19a3262 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新


















“喂狗”也不能乱喂




看到这里可能会想:

那我定时喂狗,不就行了?

还真不行。

如果主程序已经卡住,但另一个 Timer 还在一直喂狗,

WDT 就会以为:

“没事,程序还活着。”

结果真正的故障反而发现不了。

所以正确的做法是:

关键任务正常跑完,再喂狗。

6abefb19ea2e2 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

正常喂和停止喂以后会发生什么,

下面这张图更直观。

6abefb1a36def - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新























先测试“正常喂狗”








第一次运行,先别急着让开发板真的重启。

先保持 安全模式。

程序每隔 1 秒喂一次狗,

连续喂 5 次后主动停止 WDT。

正常情况下:

开发板不会重启,IDE 也不会断开。

6abefb1a71813 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

确认这一步没问题以后,

再打开复位测试。

程序先正常喂狗 3 次,

然后——

故意不喂了。

接下来就交给 WDT。

6abefb1ab2a2d - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新























不喂了,开发板真的会重启吗?




会。

停止喂狗以后,

WDT 的倒计时还在继续。

到达超时时间后,

开发板自动复位,IDE 会短暂断开。


安全模式实际效果


6abefb1b96cfc - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新


停止喂狗后的复位效果


6abefb1c909fe - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

这样整个过程就很清楚了:

正常运行 → 喂狗 → 停止喂狗 → 超时 → 自动重启

这也就是 WDT 最核心的作用。























5 秒超时,别真等到第 5 秒




这次实验设置的是 5 秒超时。

实际项目里,别等到最后一刻才喂狗。

网络、文件读写、系统负载,都可能让程序临时慢一点。

所以:

喂狗时间要和超时时间留出余量。

另外,复位测试不要设置成开机自启。

不然可能变成:

开机 → 超时 → 重启 → 再开机……

6abefb1d1e7b6 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

遇到 IDE 断开、反复重启等问题,直接看下面这张图排查。

6abefb1d6fafb - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新

最后记住:

小问题先让程序自己处理。

真的卡死了,再让 WDT 兜底。

6abefb1daf5c7 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新


























完整视频教程已更新至 B 站


本期《庐山派 WDT 看门狗使用教程》已同步更新至立创开发板 B 站账号。


视频链接:

https://www.bilibili.com/video/BV1T9e16YEfY



6abefb1e0276e - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新


视频里会实际演示:

正常喂狗、停止喂狗,以及 WDT 触发复位的整个过程。 

第一次接触 WDT 的朋友,可以直接跟着跑一遍。















6abefb1e32b36 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新
立创开发板


不靠卖板赚钱
以培养中国工程师为己任






欢迎大家把真实遇到的问题留在评论区,说不定你的问题,会成为我们下一期教程的选题!


在看你就赞赞我!
6abefb1e7a0cc - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新


6abefb1ea40a9 - 科技资讯 前沿科技 人工智能 芯片 5G 互联网技术 科技创新
点击“阅读原文”,查看详细教程。

未经允许不得转载:点森科技 - 科技资讯_数码产品_互联网观察_智能硬件 » 程序卡死怎么办?用庐山派玩懂 WDT 看门狗

分享到: 生成海报