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文章
610瀏覽量
73110 -
開發板
+關注
關注
26文章
6340瀏覽量
119391 -
WDT
+關注
關注
0文章
22瀏覽量
18214 -
rk3576
+關注
關注
1文章
277瀏覽量
1635
發布評論請先 登錄
【作品合集】米爾RK3576開發板測評
基于RK3576開發板的MIPI-DSI使用
基于RK3576開發板的WDT看門狗使用說明
評論