#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/watchdog.h>
watch dog驱动编写好后,通过下面的API来操作看门狗:
打开看门狗设备:
fd = open("/dev/watchdog", O_WRONLY);
关闭看门狗功能
//flags = WDIOS_DISABLECARD;
//ioctl(fd, WDIOC_SETOPTIONS, &flags);
打开看门狗功能
flags = WDIOS_ENABLECARD;
ioctl(fd, WDIOC_SETOPTIONS, &flags);
设置看门狗的超时时间
flags = 60;//120s(单位为:秒)
ioctl(fd, WDIOC_SETTIMEOUT, &flags);
获取看门狗的超时时间
ioctl(fd, WDIOC_GETTIMEOUT, &flags);
获取看门狗信息watchdog_info
watchdog_info info;
ioctl(fd,WDIOC_GETSUPPORT , &info);
喂狗程序
while(1)
{
int dummy = 1;
ioctl(fd, WDIOC_KEEPALIVE, &dummy);
sleep(50);
}