Arm 无法设置嵌入式linux的看门狗计时器超时

Arm 无法设置嵌入式linux的看门狗计时器超时,arm,linux-device-driver,embedded-linux,busybox,watchdog,Arm,Linux Device Driver,Embedded Linux,Busybox,Watchdog,我正在使用UBUNTU 12.04和Qt4.8为基于ARM9的微处理器开发应用程序 我有一个看门狗定时器的实现 我已经实现了看门狗定时器,如下所示 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) {

我正在使用UBUNTU 12.04和Qt4.8为基于ARM9的微处理器开发应用程序

我有一个看门狗定时器的实现

我已经实现了看门狗定时器,如下所示

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秒

ioctlfd、WDIOC\U设置超时和超时

返回-1并失败


我想使用30秒超时。我如何才能做到这一点?

可能重复的。此外,请检查设备的权限。同样的问题,但我仍然无法设置超时时间间隔。是的,我必须检查权限问题。然后我回到你这里。更改权限后没有效果意味着这不是权限问题。我有一种方法来配置它。它可以通过改变内核的看门狗驱动模块进行配置。该超时有一个宏,默认设置为10,我们可以根据您的需要进行更改。