zoukankan      html  css  js  c++  java
  • 《开发板 — 实现看门狗》

    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 ");
        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
    

      

          

  • 相关阅读:
    医疗器械那些事
    内审员学习1
    BA
    GMP文件分类与编码管理规程
    杂-电工学
    产品学习1
    模拟电子技术1
    电路组装1
    Unable to simultaneously satisfy constraints.
    xcode
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/12653456.html
Copyright © 2011-2022 走看看