立即注册
查看: 775|回复: 2

[资料] SigmaStar Camera Watchdog使用参考手册

已绑定手机
发表于 2021-6-9 10:53:39 | 显示全部楼层 |阅读模式 来自 广东省深圳市南山区
1、概述
Watchdog 采用标准的 linux 框架,提供硬件的 watchdog,上层应用可以设定 time out 时间,自己来 keep alive。Watchdog 默认是关闭的,客户可自行决定是否开启。开启建议在主线程中操作,如果在其他线程中操作,watchdog 会随着线程的关闭而关闭。

2、WATCHDOG 控制
2.1. 打开 WATCHDOG
打开/dev/watchdog 设备,watchdog 将被启动。
参考代码如下:
int wdt_fd = -1;
wdt_fd = open("/dev/watchdog", O_WRONLY);
if (wdt_fd == -1)
{
// fail to open watchdog device
}

2.2. 关闭 WATCHDOG
参考代码如下:
int option = WDIOS_DISABLECARD;
ioctl(wdt_fd, WDIOC_SETOPTIONS, &option);
if (wdt_fd != -1)
{
close(wdt_fd);
wdt_fd = -1;
}

2.3. 设定 TIMEOUT
通过标准的 IOCTL 命令 WDIOC_SETTIMEOUT,来设定 timeout,单位是 second,timeout 的时间建议大于5s,参考代码如下:
#define WATCHDOG_IOCTL_BASE 'W'
#define WDIOC_SETTIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 6, int)
int timeout = 20;
ioctl(wdt_fd, WDIOC_SETTIMEOUT, &timeout);

2.4. KEEP ALIVE
通过标准的 IOCTL 命令 WDIOC_KEEPALIVE 来喂狗,喂狗时间按照设定的 timeout 来决定,喂狗时间应该比timeout 小,参考代码如下:
#define WATCHDOG_IOCTL_BASE 'W'
#define WDIOC_KEEPALIVE _IOR(WATCHDOG_IOCTL_BASE, 5, int)
ioctl(wdt_fd, WDIOC_KEEPALIVE, 0);


文件下载请回复
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-8-15 14:01:58 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-8-24 17:49:23 | 显示全部楼层 来自 广东省深圳市
学习了dddddddddddd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
微信客服扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表