linux怎么加硬件看门狗,如何在linux嵌入式中更改看门狗定时器

请阅读Linux documentation.从用户空间更改超时的标准方法是使用ioctl().

int timeout = 45; /* a time in seconds */

int fd;

fd = open("/dev/watchdog");

ioctl(fd, WDIOC_SETTIMEOUT, &timeout); /* Send time request to the driver. */

每个看门狗设备可能具有硬件支持的上限(可能更低),因此您无法将超时设置为任意高.因此,在设置超时后,最好回读超时.

ioctl(fd, WDIOC_GETTIMEOUT, &timeout); /* Update timeout with driver value. */

现在,重新读取超时可以用作踢动频率.

assert(timeout > 2);

while (1) {

ioctl(fd, WDIOC_KEEPALIVE, 0);

sleep(timeout-2);

}

你可以在脚本/ shell命令中编写自己的踢脚例程,

while [ 1 ] ; do sleep 1; echo V > /dev/watchdog; done

但是,通常使用userspace watchdog程序.这应该照顾所有深奥的功能.您可以将用户空间程序设置为最低优先级,然后如果用户空间挂起,系统将重置. BusyBox包括一个看门狗小程序.

每个看门狗驱动程序都有separate module parameters,大多数都包含一个设置超时的机制;使用内核命令行或模块参数设置机制.但是,如果您没有掌握看门狗硬件的具体知识,那么infra-structure ioctl超时会更加轻松. ioctl可能更具未来性,因为您的硬件可能会发生变化.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值