RK3368 看门狗 Watchdog 调测

RK3368 Watchdog 配置指南

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019-03-05 18:18:18

1. 开驱动CONFIG

./arch/arm64/configs/rockchip_defconfig
CONFIG_WATCHDOG=y

   驱动源码:

kernel/drivers/watchdog/rk29_wdt.c

2. 修改dts

arch/arm64/boot/dts/rk3368.dtsi

watchdog: wdt@ff800000 {
status = "disabled"; 改为 "okay"

3. 可选步骤:start watchdogd

    这一步骤是修改timeout和while循环喂狗,其实在驱动里面已经有配置timeout(60s),并且驱动也会在irq响应中喂狗。

device/rockchip/common/init.rockchip.rc
start watchdogd

    watchdogd 源码位置:

system/core/init/watchdogd.cpp

 

### RK3588 看门狗定时器配置与使用教程 #### 一、看门狗定时器概述 看门狗定时器是一种硬件计时器,其主要功能在于监控系统的运行状况,在检测到系统异常或停滞的情况下自动触发重启操作以恢复正常的运作流程[^1]。 #### 二、RK3588 平台特性说明 尽管提供的参考资料集中于RK3568平台,但鉴于RK系列芯片设计上的一致性和相似性,可以合理推测RK3588平台上的看门狗机制与其相近型号存在高度兼容之处。对于具体差异点,则需参照官方文档获取最准确的信息[^2]。 #### 三、基本配置步骤 为了确保看门狗能够按照预期工作,通常需要完成以下几个方面的设置: - **加载内核模块**:通过命令`modprobe watchdog`来激活Linux内核中的看门狗支持。 - **设定超时期限**:利用`echo timeout_value > /dev/watchdog`指令向设备文件写入期望的时间间隔值(单位秒),这决定了允许的最大无响应周期长度。 - **定期刷新计数器**:应用程序应当每隔一段时间执行一次`ioctl(fd, WDIOC_KEEPALIVE)`调用来告知看门狗当前进程仍然活跃并重置倒计时;否则一旦达到预设时限就会引发复位动作。 ```bash # 加载看门狗模块 sudo modprobe watchdog # 设置超时时间为60秒 echo 60 | sudo tee /dev/watchdog # 创建守护程序保持活动状态 while true; do echo "Ping" sleep 59 # 小于超时时间的安全间隔 done ``` 上述脚本展示了如何维持一个简单的循环结构不断发送心跳信号给看门狗防止误触重启事件的发生[^3]。 #### 四、高级选项调整 除了基础参数外,还可以进一步定制其他行为模式比如关闭前警告提示等功能。这些额外的功能往往依赖特定的寄存器访问或是更复杂的API接口实现方式,请参阅相关手册深入了解细节部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值