博客專欄

EEPW首頁(yè) > 博客 > 迅為4418開(kāi)發(fā)板-驅(qū)動(dòng)-看門狗以及Linux-c測(cè)試教程

迅為4418開(kāi)發(fā)板-驅(qū)動(dòng)-看門狗以及Linux-c測(cè)試教程

發(fā)布人:daybydayi 時(shí)間:2020-09-24 來(lái)源:工程師 發(fā)布文章

本文檔介紹迅為iTOP-4418開(kāi)發(fā)板看門狗的驅(qū)動(dòng)配置和測(cè)試?yán)?,開(kāi)發(fā)板的看門狗驅(qū)動(dòng)默認(rèn)沒(méi)有配
置,用戶需要配置看門狗之后才能使用測(cè)試?yán)獭?/span>
版本 V1.1:1:1、格式修改;2、增加驅(qū)動(dòng)配置;3、例程修改完善,增加喂狗代碼。
1 驅(qū)動(dòng)簡(jiǎn)介和配置
進(jìn)入內(nèi)核源碼目錄,如下圖所示。

內(nèi)核看門狗驅(qū)動(dòng)是“drivers/watchdog/nxp_wdt.c”,如下圖所示。

驅(qū)動(dòng)對(duì)應(yīng)的宏 CONFIG_NXP_WATCHDOG_DEFAULT_TIME 默認(rèn)沒(méi)有配置。使用命令
“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)”這個(gè)功能是在內(nèi)核里運(yùn)行一個(gè)定時(shí)喂狗的進(jìn)程,如果內(nèi)核異常,會(huì)導(dǎo)致看門狗復(fù)
位, 這里我們沒(méi)有配置,我們使用上層應(yīng)用程序喂狗的方式。
然后保存退出,生成了新的.config 文件,重新編譯生成新的內(nèi)核鏡像,燒寫到開(kāi)發(fā)板。
如下圖所示,重新燒寫鏡像之后,在串口控制臺(tái),可以看到有看門狗的設(shè)備節(jié)點(diǎn)。

2 測(cè)試
如下圖所示,測(cè)試?yán)叹幾g,然后拷貝到開(kāi)發(fā)板,修改權(quán)限。

使用命令“./topeet_watchdogtest /dev/watchdog 10”,參數(shù) 1 是看門狗設(shè)備節(jié)
點(diǎn) ,參數(shù) 2 是看門狗時(shí)間,單位是秒,如下圖所示。.

測(cè)試程序運(yùn)行之后,如下圖所示,看門狗設(shè)置為 10 秒,開(kāi)啟 9 秒之后,喂狗 10 秒,最
后系統(tǒng)運(yùn)行 10 秒之后整個(gè)系統(tǒng)重啟。表明看門狗開(kāi)啟、喂狗重啟功能都是正常的。

就是這個(gè)開(kāi)發(fā)咯

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉