本文檔介紹迅為iTOP-4418開發板看門狗的驅動配置和測試例程,開發板的看門狗驅動默認沒有配 置,用戶需要配置看門狗之后才能使用測試例程。 1 驅動簡介和配置版本 V1.1:1:1、格式修改;2、增加驅動配置;3、例程修改完善,增加喂狗代碼。 進入內核源碼目錄,如下圖所示。 ![]() 內核看門狗驅動是“drivers/watchdog/nxp_wdt.c”,如下圖所示。 ![]() 驅動對應的宏 CONFIG_NXP_WATCHDOG_DEFAULT_TIME 默認沒有配置。使用命令 “export ARCH=arm”,然后使用命令“make menuconfig”,如下圖所示,選擇“Device Drivers --->”。 ![]() 進入“Device Drivers --->”之后,選擇“Watchdog Timer Support --->”,如下 圖所示。 ![]() 進入“Watchdog Timer Support --->”,選擇“NXP Watchdog”和 “/sys/devices/platform/wdt/soft (sysfs interface)”,如下圖所示。 ![]() 看門狗的“do keepalive using watchdog task for cpu reset in task hung state (NEW)”這個功能是在內核里運行一個定時喂狗的進程,如果內核異常,會導致看門狗復 位, 這里我們沒有配置,我們使用上層應用程序喂狗的方式。 然后保存退出,生成了新的.config 文件,重新編譯生成新的內核鏡像,燒寫到開發板。 如下圖所示,重新燒寫鏡像之后,在串口控制臺,可以看到有看門狗的設備節點。 ![]() ![]() 如下圖所示,測試例程編譯,然后拷貝到開發板,修改權限。 使用命令“./topeet_watchdogtest /dev/watchdog 10”,參數 1 是看門狗設備節 點 ,參數 2 是看門狗時間,單位是秒,如下圖所示。 ![]() 測試程序運行之后,如下圖所示,看門狗設置為 10 秒,開啟 9 秒之后,喂狗 10 秒,最 后系統運行 10 秒之后整個系統重啟。表明看門狗開啟、喂狗重啟功能都是正常的。 ![]() |