首页 > 其他 > 详细

《开发板 — 实现看门狗》

时间:2020-04-07 17:10:50      阅读:106      评论:0      收藏:0      [点我收藏+]

1.内核配置

  ------->Device Drivers

    -------->Watchdog Timer Support

      -------->WatchDog Timer Driver Core[*]

      -------->Software watchdog[*]

技术分享图片

   编译烧录内核,然后在板卡上面可以看到/dev/watchdog

技术分享图片

 

2.看门狗编程

 

喂狗、喂狗时间设置、喂狗时间读取的接口如下:

 

ioctl(fd, WDIOC_KEEPALIVE, 0);
ioctl(fd, WDIOC_SETTIMEOUT, &timeout);
ioctl(fd, WDIOC_GETTIMEOUT, &timeout);

 

  

 

3.例程

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/watchdog.h>

void main(int argc, char *argv[])
{
  int fd,timeout;
  timeout = 15;

  fd = open("/dev/watchdog", O_WRONLY);
  if(fd == -1)
  {
    printf("open watchdog error \r\n");
    return 0;
  }

  ioctl(fd,WDIOC_SETTIMEOUT, &timeout);

  while(1)
  {
    ioctl(fd, WDIOC_KEEPALIVE);
    sleep(10);
  }
}

 

在内核中有看门狗的说明以及例程,也可以查看:

技术分享图片

 

4.github网址

https://github.com/ssahai/linux/blob/master/Documentation/watchdog/watchdog-api.txt

  

 

 

 

 

 

 

 

      

《开发板 — 实现看门狗》

原文:https://www.cnblogs.com/zhuangquan/p/12653456.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!