RK平台Watchdog硬件看门狗验证

一.环境

以下是基于3588例子,3328其他的RK平台同理,参考TRM即可,将寄存器基地址改一下就可以进行排查验证。

二.配置

1.dts

&wdt{

status = "okay";

};

2.config

CONFIG_WATCHDOG=y

CONFIG_WATCHDOG_CORE=y

CONFIG_DW_WATCHDOG=y

3.应用层APP

/system/bin/watchdogd

三.验证

1.基本寄存器

3588在配置了WTD之后,如果没有人去打开这个设备,看门狗设备内核是不会使能的

0xfeaf0000 第0个bit 是开关。可以看到下面是关闭状态。

0xfeaf0008是计数器,count到0会产生reset中断(驱动会配置)

./io -4 0xfeaf0008

feaf0008: 0000ffff

./io -4 0xfeaf0000

feaf0000: 00000008

2.内核喂狗

打开WTD(open /dev/watchdog),如果喂狗'V',那么内核会开启自动喂狗,看如下结果,WTD counts 已经在计数,并且毫无疑问enable=1,当feaf0008到0就会reset系统,但是这个计数永远不会到0,猜猜为啥?因为开了 V...IP(🐶)

echo 'V' > /dev/watchdog

io -4 0xfeaf0000

feaf0000: 00000009

io -4 0xfeaf0008

feaf0008: 2773d61c

3.应用层喂狗

打开WTD 后,但凡喂的不是V,那么就需要自己去喂狗,这个时候内核是不会自动喂狗的,count会计数到0,那么会reset。

echo '' > /dev/watchdog

./io -4 0xfeaf0008

feaf0008: 3d099539

./io -4 0xfeaf0000

feaf0000: 00000009

./io -4 0xfeaf0008

feaf0008: 17436391

./io -4 0xfeaf0008

feaf0008: 0c5830ce

./io -4 0xfeaf0008

feaf0008: 00000000

......err

IO命令问题可以参考

IO命令问题https://blog.csdn.net/weixin_47822507/article/details/155752417?fromshare=blogdetail&sharetype=blogdetail&sharerId=155752417&sharerefer=PC&sharesource=weixin_47822507&sharefrom=from_link

一键三连,欢迎提问

相关推荐
烛之武17 小时前
Linux 命令速查表
linux·运维·服务器
进击的荆棘17 小时前
Linux系统——进程概念(上)
linux·运维·进程
深念Y17 小时前
Windows → WSL2 全面迁移:工具链、Docker、OpenCode
linux·运维·windows·docker·容器·环境·wsl
一池秋_17 小时前
云笔记本,刷linux,天翼云笔记本rk3568
linux·运维·电脑
ltl1 天前
存储性能建模:IOPS、吞吐与延迟
linux
刘某的Cloud1 天前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
酸菜。1 天前
dw_axi_dmac总结
linux
神奇霸王龙1 天前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
阿pin1 天前
Android随笔-kotlin withContext
android·kotlin·withcontext
树码小子1 天前
开启 IDEA 中的断言功能
android·java·intellij-idea