置,用户需要配置看门狗之后才能使用测试例程。
版本 V1.1:1:1、格式修改;2、增加驱动配置;3、例程修改完善,增加喂狗代码。
1 驱动简介和配置
进入内核源码目录,如下图所示。

内核看门狗驱动是“drivers/watchdog/nxp_wdt.c”,如下图所示。

驱动对应的宏 CONFIG_NXP_WATCHDOG_DEFAULT_TIME 默认没有配置。使用命令
“export ARCH=arm”,然后使用命令“make menuconfig”,如下图所示,选择
“Device Drivers --->”。

进入“Device Drivers --->”之后,选择“Watchdog Timer Support --->”,如下
图所示。

进入“Watchdog Timer Support --->”,选择“NXP Watchdog”和
“/sys/devices/platform/wdt/soft (sysfs interface)”,如下图所示。

看门狗的“do keepalive using watchdog task for cpu reset in task hung state
(NEW)”这个功能是在内核里运行一个定时喂狗的进程,如果内核异常,会导致看门狗复
位, 这里我们没有配置,我们使用上层应用程序喂狗的方式。
然后保存退出,生成了新的.config 文件,重新编译生成新的内核镜像,烧写到开发板。
如下图所示,重新烧写镜像之后,在串口控制台,可以看到有看门狗的设备节点。

2 测试
如下图所示,测试例程编译,然后拷贝到开发板,修改权限。

使用命令“./topeet_watchdogtest /dev/watchdog 10”,参数 1 是看门狗设备节
点 ,参数 2 是看门狗时间,单位是秒,如下图所示。.

测试程序运行之后,如下图所示,看门狗设置为 10 秒,开启 9 秒之后,喂狗 10 秒,最
后系统运行 10 秒之后整个系统重启。表明看门狗开启、喂狗重启功能都是正常的。

网友评论