您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux-c測試舉例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1 驅動簡介和配置
進入內核源碼目錄,如下圖所示。
內核看門狗驅動是“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 文件,重新編譯生成新的內核鏡像,燒寫到開發板。
如下圖所示,重新燒寫鏡像之后,在串口控制臺,可以看到有看門狗的設備節點。
2 測試
如下圖所示,測試例程編譯,然后拷貝到開發板,修改權限。
使用命令“./topeet_watchdogtest /dev/watchdog 10”,參數 1 是看門狗設備節
點 ,參數 2 是看門狗時間,單位是秒,如下圖所示。.
測試程序運行之后,如下圖所示,看門狗設置為 10 秒,開啟 9 秒之后,喂狗 10 秒,最
后系統運行 10 秒之后整個系統重啟。表明看門狗開啟、喂狗重啟功能都是正常的。
“Linux-c測試舉例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。