1. 查看看門狗資源
通過ls命令,即可查看系統有多少個看門狗節點
ls /dev/watchdog*

2. 快速上手
2.1 例程源碼下載
到【百度網盤】上下載相關的單例程序:
鏈接:https://pan.baidu.com/s/1RXHMGpmGSEfFy0rb1VkXSg?pwd=1234
提取碼: 1234
比如在windows環境中,就把單例程序下載到:此電腦D:BaiduNetdisk (無規定,用戶可自主選擇),如下圖所示。
然后把例程【復制粘貼】到nfs掛載目錄中。(不清楚目錄如何構建的,可以參考《入門指南/開發環境準備/nfs服務搭建與掛載》)
2.2 例程編譯&運行
通過adb shell進入開發板環境,執行下方命令定位到demo目錄,并且執行編譯操作。
cd /home/orin-nano/Desktop/nfs/05_watchDog/ ./build.sh

編譯成功后,相關的demo會生成在Release目錄下。
執行下方命令以運行demo,如下所示。
sudo ./Release/test-watchDog
執行效果如下所示【注意!!執行demo會重啟系統,請謹慎操作】。
若不想重啟,可在中途用組合鍵【Ctrl+C】停掉看門狗進程。
3. C語言使用案例
看門狗的C語言使用案例,代碼地址為05_watchDog/test-watchDog/main.c,供用戶編碼參考。以下代碼展示了對看門狗定時器的基本操作流程:
void ctrl_c_handler() { int ret = wdt_close(); if(ret < 0){ printf("n看門狗關閉失敗!!!n"); }else if(ret == 0){ printf("n看門狗關閉成功!!!n"); } exit(0); } int main() { int timeout = 30; int ret = wdt_open(timeout); if(ret < 0){ printf("看門狗使能失敗!!!n"); return -1; } printf("看門狗使能成功,實際溢出時間:%d(秒)n", ret); // 捕捉ctrl+c信號 signal(SIGINT, ctrl_c_handler); int feedTimes = 0; while (1) { sleep(3); if(5 < feedTimes){ printf("不再喂狗n"); continue; } if(0 == wdt_feeddog()){ feedTimes++; printf("喂狗成功!!!n"); }else{ printf("喂狗失敗!!!n"); } } return 0; } 審核編輯 黃宇
-
看門狗
+關注
關注
10文章
579瀏覽量
71555 -
開發板
+關注
關注
25文章
5503瀏覽量
102202 -
WDT
+關注
關注
0文章
22瀏覽量
17881 -
rk3576
+關注
關注
1文章
145瀏覽量
552
發布評論請先 登錄
基于RK3576開發板的MIPI-DSI使用

評論