本文基于 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 具体配置如下:
三、调试方法
1、关闭看门狗
写入除大写 V 以外的任意字符,不再喂狗,一段时间后系统会重启。
例:
2、打开卡门狗
写入大写 V ,继续喂狗,系统不再重启。
例:
3、CONFIG_WATCHDOG_NOWAYOUT
如果配置了 CONFIG_WATCHDOG_NOWAYOUT ,通过 echo 命令写入任何字符,都不会关闭喂狗。
例:
注:
使用 ./build/mk-kernel.sh rockpi4a 编译内核时,即使修改了 rockchip_linux_defconfig 文件,编译时,相关配置也不会生效。需要在编译前 make distclean 或删除内核根目录下的 .config 文件后,重新编译内核。
你好,
不明白你说的死掉是什么意思。msp430的看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。看门狗模式的使用方法:当看门狗计数溢出时,程序复位。在程序中开启看门狗,在计数溢出前清空看门狗,或重置看门狗,以使其重新计数。若程序跑飞,看门狗可能没有被清空或重置,就会溢,使程序复位。
linux内核里面就有这个模块,你看看编译内核的时候看看有没有编译进去,make menuconfig里面找找,或者直接从.config里面去找,只要watchdog模块开关打开 就会编进内核的
如果是你的应用打开看门狗,那你kill的话,看门狗随着应用推出,就关闭了,两种方式验证:
linux系统开启看门狗,自己写一个应用程序只定时喂狗
两个程序,你个用于开启/关闭看门狗,另外一个程序只处理喂狗