迅為4418開發(fā)板-驅(qū)動-看門狗以及Linux-c測試教程
本文檔介紹迅為iTOP-4418開發(fā)板看門狗的驅(qū)動配置和測試?yán)?,開發(fā)板的看門狗驅(qū)動默認(rèn)沒有配
置,用戶需要配置看門狗之后才能使用測試?yán)獭?/span>
版本 V1.1:1:1、格式修改;2、增加驅(qū)動配置;3、例程修改完善,增加喂狗代碼。
1 驅(qū)動簡介和配置
進(jìn)入內(nèi)核源碼目錄,如下圖所示。
內(nèi)核看門狗驅(qū)動是“drivers/watchdog/nxp_wdt.c”,如下圖所示。
驅(qū)動對應(yīng)的宏 CONFIG_NXP_WATCHDOG_DEFAULT_TIME 默認(rèn)沒有配置。使用命令
“export ARCH=arm”,然后使用命令“make menuconfig”,如下圖所示,選擇
“Device Drivers --->”。
進(jìn)入“Device Drivers --->”之后,選擇“Watchdog Timer Support --->”,如下
圖所示。
進(jìn)入“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)”這個功能是在內(nèi)核里運(yùn)行一個定時喂狗的進(jìn)程,如果內(nèi)核異常,會導(dǎo)致看門狗復(fù)
位, 這里我們沒有配置,我們使用上層應(yīng)用程序喂狗的方式。
然后保存退出,生成了新的.config 文件,重新編譯生成新的內(nèi)核鏡像,燒寫到開發(fā)板。
如下圖所示,重新燒寫鏡像之后,在串口控制臺,可以看到有看門狗的設(shè)備節(jié)點(diǎn)。
2 測試
如下圖所示,測試?yán)叹幾g,然后拷貝到開發(fā)板,修改權(quán)限。
使用命令“./topeet_watchdogtest /dev/watchdog 10”,參數(shù) 1 是看門狗設(shè)備節(jié)
點(diǎn) ,參數(shù) 2 是看門狗時間,單位是秒,如下圖所示。.
測試程序運(yùn)行之后,如下圖所示,看門狗設(shè)置為 10 秒,開啟 9 秒之后,喂狗 10 秒,最
后系統(tǒng)運(yùn)行 10 秒之后整個系統(tǒng)重啟。表明看門狗開啟、喂狗重啟功能都是正常的。
就是這個開發(fā)咯
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。