本文转自迅为论坛:http://www.topeetboard.com
1.进入到内核目录下,如下图所示:
看门狗的驱动位于内核的: drivers/watchdog/nxp_wdt.c, 这个文件, 默认时间
是 10 秒,如果想更改其它时间,通过修改该文件里面的
CONFIG_NXP_WATCHDOG_DEFAULT_TIME 这个宏定义,或者编译内核时通过传递参
数方式。
2.然后输入:export ARCH=arm,如下图所示:
3.内核目录下会有 4418&6818 的对应配置文件, 这里我以” 4418 4G 底板+android
4.4 系统“的配置文件,来做实验(用户需要根据自己的要去选择对应的配置文
件) ,输入命令:cp config_for_iTOP4418_android_RTL8211 .config,如下图
所示:
4.然后输入:make menuconfig 命令,进入到内核配置界面,如下图所示:
选择“Device Drivers”选项,进入到设备驱动配置界面,如下图所示:
5.在设备驱动配置界面找到“Watchdog Timer Support”选项,如下图所示:
6.然后进入看门狗配置界面,如下图所示:
7.然后配置上 4418&6818 的看门狗驱动,如下图所示:
注意:上图中 4418 看门狗的“do keepalive using watchdog task for cpu reset
in task hung state (NEW)”这个功能是在内核里运行一个定时喂狗的进程,如
果内核异常,会导致看门狗复位, 这里我们没有配置,我们使用上层应用程序喂
狗的方式。
8.然后退出并保存内核配置, 返回到 android 源码目录下, 运行编译脚本, 生成
android 系统的几个镜像,使用 OTG 或 TF 卡烧写新生成的镜像到开发板。至此
内核看门狗的配置完成。
9.开发板烧写完成,重新启动,在串口终端下输入:ls /dev/watchdog,如下图
所示:
可以看到有看门狗的备节点了(默认状态下,看门狗是关闭的)。
10.然后使用 adb 或者手机助手工具上传附件里面的 watchdog 测试工具到开发板
上 (我这里上传到了” /sdcard “目录下) , 然后使用 cp 命令拷贝 watchdog 文件
到“/data”目录下,如下图所示:
然后使用 cd 命令进入到“/data”目录,如下图所示:
然后使用 chmod 命令设置 watchdog 具有执行权限,如下图所示:
接着可以运行 watchdog 开启看门狗功能了,watchdog 会每隔一秒喂狗一次,如
下图所示:
如果现在我们使用“Ctrl+c” 中断 watchdog 的运行,过 10 秒钟 (看门狗默认喂
狗时间间隔是 10 秒)后看门狗会导致系统复位,重新启动,如下图所示:
至此 4418&6818 看门狗的使用介绍完成。 大家如果想使用此功能, 可以在自己的
程序里实现喂狗的代码。