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

[资料] SigmaStar Camera Watchdog使用参考

已绑定手机
发表于 2021-4-14 17:41:46 | 显示全部楼层 |阅读模式 来自 广东省深圳市
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-4-14 17:41 上传
文件大小:
429.53 KB
下载次数:
6
附件售价:
1 RD币  购买记录
本地下载 立即购买

16RD supports Paypal , Payment is calculated at the exchange rate of the day. Unable to download please contact 18902843661 (WhatsApp OR wechat number)

关于一牛网在微软浏览器(Microsoft Edge、IE浏览器)警报通告&解决方案!(无法下载直接更换浏览器即可)

*附件为作者发布,与本站无关,如有侵权,请联系客服删除



已绑定手机
发表于 2021-8-15 15:37:17 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-8-25 19:34:29 | 显示全部楼层 来自 上海市
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

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