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
    

      

          

  • 相关阅读:
    dubbox编译
    fastdfs的启动停止
    fastDFS单机
    Dsu on tree算法
    The 2017 ACM-ICPC Asia Beijing Regional Contest(重现赛)
    2019南京ICPC(重现赛) F
    Codeforces Round #634 (Div. 3)
    Codeforces Round #632 (Div. 2)
    HDU 6521 Party(线段树)
    牛客小白月赛20
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/12653456.html
Copyright © 2011-2022 走看看