Linux内核watchdog
本文基于 RockPi 4A 单板 Linux 4.4 内核介绍 RK3399 看门狗( watchdog )的调试方法。
一、驱动文件
RK3399 watchdog 用的是新思( Synopsys )的 IP ,在 watchdog 驱动程序加载时,会注册 misc 设备,节点为 /dev/watchdog 。
驱动文件: drivers/watchdog/dw_wdt.c
二、DTS配置
配置文件: arch/arm64/boot/dts/rockchip/rk3399.dtsi
watchdog 具体配置如下: watchdog@ff848000 { compatible = "snps,dw-wdt"; reg = <0x0 0xff848000 0x0 0x100>; ## watchdog寄存器基地址和映射长度 clocks = <&cru PCLK_WDT>; ## watchdog时钟 interrupts = ; ## watchdog中断号和触发方式 };
三、调试方法
1、关闭看门狗 echo A > watchdog
写入除大写 V 以外的任意字符,不再喂狗,一段时间后系统会重启。 ## drivers/watchdog/watchdog_dev.c /* * watchdog_write: writes to the watchdog. * A write to a watchdog device is defined as a keepalive ping. * Writing the magic "V" sequence allows the next close to turn * off the watchdog (if "nowayout" is not set). */ static ssize_t watchdog_write(struct file *file, const char __user *data, size_t len, loff_t *ppos) { ... }
例: ## 关闭看门狗后,等待一段时间后重启 root@linaro-alip:/dev# echo A > watchdog [ 1502.302824] dw_wdt: unexpected close, system will reboot soon root@linaro-alip:/dev# DDR Version 1.20 20190314 ## 系统重启 In soft reset
2、打开卡门狗 echo V > watchdog
写入大写 V ,继续喂狗,系统不再重启。
例: ## 打开看门狗 root@linaro-alip:/dev# echo V > watchdog root@linaro-alip:/dev#
3、CONFIG_WATCHDOG_NOWAYOUT
在 watchdog 驱动程序中,需要关注宏 CONFIG_WATCHDOG_NOWAYOUT 。使用如下: static bool nowayout = WATCHDOG_NOWAYOUT; module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started " "(default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
如果配置了 CONFIG_WATCHDOG_NOWAYOUT ,通过 echo 命令写入任何字符,都不会关闭喂狗。 root@ubuntu:/home/run/code/rockchip-bsp/kernel/arch/arm64/configs# git diff rockchip_linux_defconfig diff --git a/arch/arm64/configs/rockchip_linux_defconfig b/arch/arm64/configs/rockchip_linux_defconfig index cfbc7774a15f..80265bdcd598 100644 --- a/arch/arm64/configs/rockchip_linux_defconfig +++ b/arch/arm64/configs/rockchip_linux_defconfig CONFIG_WATCHDOG=y CONFIG_DW_WATCHDOG=y +CONFIG_WATCHDOG_NOWAYOUT=y CONFIG_MFD_CROS_EC=y
例: ## 写入任何字符,都不会关闭喂狗 root@linaro-alip:~# echo A > watchdog root@linaro-alip:~#
注:
使用 ./build/mk-kernel.sh rockpi4a 编译内核时,即使修改了 rockchip_linux_defconfig 文件,编译时,相关配置也不会生效。需要在编译前 make distclean 或删除内核根目录下的 .config 文件后,重新编译内核。
遨博智能深耕协作机器人领域给机器人一颗中国心来源中国经济网经济日报你见过机器人泡茶吗?在江苏常州遨博智能机器人展示中心里,机器人的一只手臂夹起茶匙,灵活地从茶罐里取出一匙茶叶另一只手臂将壶盖轻轻拿起,茶叶被精准地放入茶壶整套
电动智能思皓E10X花仙子四大花招带你体验智能驾乘在日新月异的科技新时代里,在我国环保事业的纵深挺进中,智能电动汽车已经正悄悄飞入寻常百姓家,并得到有车一族的广泛认可。智能电动汽车产业中号称A00级智能汽车头号实力派的思皓新能源,
智能手机的路走到头了?前世界首富预测新技术很快出现点击关注,每天精彩不断!导读智能手机的路走到头了?前世界首富预测新技术很快出现!众所周知,自从手机被发明出来以后就受到了人们的欢迎,手机的出现,不仅改变了人们相互之间的联系方式,而
女版乔布斯进局子,十几亿身价全靠演,没人比她会钻空子2017年7月11日上午9点。天才少女富豪伊丽莎白站在国会质询现场,举着右手说我发誓说的一切都是事实这之前,她是硅谷最闪耀的创业者。19岁从名校斯坦福大学退学创业,公司全盛时有80
用户协议不能失了用户体验静子动辄上万字的App用户协议,你会认真读完吗?媒体调查发现,在首次下载并使用App时,近八成用户很少或从未阅读过隐私协议。冗长复杂的协议借机挖坑,用户一不小心就容易掉进不同意协议
科学家观察到坏死小体如何杀死细胞到细胞膜城下还有条河,怎么办?MLKL分子们正着急,突然看到河上有拼成的木块。四个以上为一组,踩好四块以上木块组合成的木筏,就能有机会过河,来到细胞膜城下不要以为这是游戏里设置的各
黑马编程C学习笔记2022。3。22P26选择结构多条件的if语句代码if(条件1)条件1满足执行的语句Elseif(条件2)条件2满足执行的语句(可无数个)Else均未满足cout未考上endlP
3月23日上市公司发布最新事项公告精选(二)1华灿光电(300323。SZ)公司LED芯片可用于车用照明以及车载显示。2川恒股份(002895。SZ)目前公司全资子公司福祺矿业持有天一矿业49股权,蜀裕矿业持有天一矿业51股
奔驰宣布将对开启自动辅助驾驶功能后发生的事故负责IT之家3月23日消息,梅赛德斯奔驰近日宣布,当配备DrivePilot的奔驰汽车驾驶者打开车辆的高级驾驶员辅助系统后,他们对于汽车的运行将承担法律责任。也就是说,只要DriveP
不要逼我,我只想挣钱不要逼我站队,我只想好好做生意挣钱。总算有企业受不了乌克兰的道德绑架发怒了。乌克兰媒体报道麦德龙德国办公室表态称如果乌克兰政府再施压,让麦德龙离开俄罗斯市场。那么麦德龙将中断对乌克
直径仅2毫米磁性机器人可进入最小支气管采样来源科技日报根据21日发表在软体机器人杂志上的论文,英国利兹大学风暴实验室团队开发了一种磁性触手机器人,直径只有2毫米,大约是圆珠笔笔尖的两倍,可由患者体外的磁铁引导进入肺部狭窄的