[TINA LINUX] 在 v833 上的看门狗功能接口( shell 操作即可)

只是简单测试使用的话,在系统上操作就行,tina默认使用 procd-init 并在其中集成了喂狗功能,所以要先关了自带的喂狗功能。

先让procd停止喂狗:(如果出错也没有关系,没有配置服务就不会工作)

ubus call system watchdog '{"magicclose": true}'
ubus call system watchdog '{"stop": true}'

使用如下命令就可以快速配置看门狗和反复喂狗。

echo S > /dev/watchdog

从这之后需要软件自行喂狗了喔,想要关闭就用如下命令。

echo V > /dev/watchdog

代码里写死 16 秒后不写入就会自动重启了,更多的就去看具体的驱动实现吧!~

lichee/linux-4.9/drivers/watchdog/watchdog_dev.c
lichee/linux-4.9/drivers/watchdog/sunxi_wdt.c

实现通常类似于这样 https://blog.csdn.net/weixin_44410537/article/details/86708540


#define WDT_MAX_TIMEOUT         16
#define WDT_MIN_TIMEOUT         1
#define WDT_TIMEOUT_MASK        0x0F

#define WDT_CTRL_RELOAD         ((1 << 0) | (0x0a57 << 1))

#define WDT_MODE_EN             (1 << 0)

#define DRV_NAME		"sunxi-wdt"
#define DRV_VERSION		"1.0"

static bool nowayout = WATCHDOG_NOWAYOUT;
static unsigned int timeout = WDT_MAX_TIMEOUT;

可以用 https://blog.csdn.net/xiaopohaibebo/article/details/8090916 操作文件来配置 IOCTL 的参数。

posted @ 2021-06-10 11:20  Juwan  阅读(844)  评论(0编辑  收藏  举报