本文基於 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 文件後,重新編譯內核。