Linux内核watchdog

Linux内核watchdog,第1张

本文基于 RockPi 4A 单板 Linux 4.4 内核介绍 RK3399 看门狗( watchdog )的调试方法。

一、驱动文件

RK3399 watchdog 用的是新思( Synopsys )的 IP ,在 watchdog 驱动程序加载时,会注册 misc 设备,节点为 /dev/watchdog 。

驱动文件: drivers/watchdog/dw_wdt.c

二、DTS配置

配置文件: arch/arm64/boot/dts/rockchip/rk3399.dtsi

watchdog 具体配置如下:

三、调试方法

1、关闭看门狗

写入除大写 V 以外的任意字符,不再喂狗,一段时间后系统会重启。

例:

2、打开卡门狗

写入大写 V ,继续喂狗,系统不再重启。

例:

3、CONFIG_WATCHDOG_NOWAYOUT

如果配置了 CONFIG_WATCHDOG_NOWAYOUT ,通过 echo 命令写入任何字符,都不会关闭喂狗。

例:

注:

使用 ./build/mk-kernel.sh rockpi4a 编译内核时,即使修改了 rockchip_linux_defconfig 文件,编译时,相关配置也不会生效。需要在编译前 make distclean 或删除内核根目录下的 .config 文件后,重新编译内核。

Watchdog在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。在Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog 设备被打开后),如果在某一设定的时间间隔内/dev/watchdog没有被执行写 *** 作, 硬件watchdog电路或软件定时器就会重新启动系统。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6255016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存