NXP

迅为嵌入式开发平台4418/6818看门狗教程

2019-07-12 13:22发布

本文转自迅为论坛: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 看门狗的使用介绍完成。 大家如果想使用此功能, 可以在自己的
程序里实现喂狗的代码。