/***********************************************************************
* Linux Watchdog Test Program
* 说明:
* 由于之前的reset一直没有得到解决,所以这个Watchdog功能一直没有处理,
* 现在问题解决了,于是需要加入这个测试程序。
*
* 2016-4-15 深圳 南山平山村 曾剑锋
**********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/watchdog.h>
// watchdog 只要一直打开设备节点不喂,然后等待设定的时间结束引发reset。
int main(void)
{
int fd;
fd = open("/dev/watchdog", O_WRONLY);
if (fd == -) {
fprintf(stderr, "Watchdog device not enabled.\n");
fflush(stderr);
exit(-);
}
int timeout = ;
ioctl(fd, WDIOC_SETTIMEOUT, &timeout);
printf("The timeout was set to %d seconds\n", timeout);
int timeleft = timeout;
while((timeleft--) >= ) {
printf("The timeout left %d seconds\n", timeleft);
sleep();
}
}