Я разрабатываю свое приложение для микропроцессора на базе ARM9, используя UBUNTU 12.04 и Qt4.8.
У меня есть реализация сторожевого таймера.
Я реализовал сторожевой таймер следующим образом.
int timeout = 30; /* time in seconds */
int rc = -1; /* return value */
int fd = -1; /* WDT Timer File Descriptor*/
fd = open(WDT_DEVICE, O_WRONLY));
if(-1 == fd)
{
qDebug() << Q_FUNC_INFO << "Failed to Open Device : " << WDT_DEVICE;
return -1;
}
if(ioctl(fd,WDIOC_SETTIMEOUT, &timeout) != 0)
{
qDebug() << Q_FUNC_INFO << "Failed to set the timeout interval of : " << timeout;
return -1;
}
if(ioctl(fd,WDIOC_GETTIMEOUT, &timeout) != 0);
{
qDebug() << Q_FUNC_INFO << "Failed to Get the timeout interval of : " << timeout;
return -1;
}
Здесь я не могу установить интервал времени ожидания. Таким образом, по умолчанию применяется таймаут системного сторожевого таймера 10 секунд.
ioctl(fd,WDIOC_SETTIMEOUT, &timeout)
возвращает -1 и терпит неудачу.
Я хочу использовать таймаут 30 секунд. как я могу это сделать?