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

一键三连,欢迎提问

相关推荐
kaoa00011 小时前
Linux入门攻坚——62、memcached使用入门
linux·运维·memcached
2501_9159090611 小时前
如何保护 iOS IPA 文件中资源与文件的安全,图片、JSON重命名
android·ios·小程序·uni-app·json·iphone·webview
model200511 小时前
alibaba linux3 系统盘清理
linux·运维·服务器
WG_1712 小时前
Linux:动态库加载总结_进程间通信+进程池 + 进程IPC(27/28/29/30/31/32)
linux·运维·服务器
小赵还有头发12 小时前
安装 RealSense SDK (驱动层)
linux
Root_Hacker13 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
stevenzqzq13 小时前
android flow的背压策略
android·flow
微学AI14 小时前
内网穿透的应用-告别局域网束缚!MonkeyCode+cpolar 解锁 AI 编程新体验
linux·服务器·网络
stevenzqzq15 小时前
android mvi接口设计1
android·mvi接口设计
stevenzqzq16 小时前
android mvi接口设计2
android·mvi接口设计