Watchdog
1 Iconfig配置配置
以x1600e_halley6_nand_factory_defconfig为例. 打开IConfigTool工具,选择配置文件
x1600驱动列表勾选watchdog驱动,libhardware2勾选watchdog shell命令
配置完后保存
重新编译配置
bhu@bhu-PC:~/work/build$ make x1600e_halley6_nand_factory_defconfig
bhu@bhu-PC:~/work/build$ make
烧录固件, 没烧录过见 烧录方法
开机后串口输⼊ "lsmod" 查看当前是否已安装 watchdog 驱动,且输⼊ "ls /dev/jz_watchdog" 可查看到该设备节点⽂件
# lsmod //查看驱动是否安装
Module Size Used by Tainted: G
x1600_dummy_sound_card 2670 0
soc_watchdog 3207 0
# ls /dev/jz_watchdog //查看是否存在watchdog设备节点
/dev/jz_watchdog
2 Watchdog shell 命令详解
相关源码见libhardware2/src/cmds下的watchdog_main.c
cmd_watchdog start <ms>
功能:启动看门狗,同时设置最迟喂狗时间
参数:ms //最迟喂狗时间
example:
cmd_watchdog start 1000
cmd_watchdog feed
功能:喂狗
参数:无
example:
cmd_watchdog feed
cmd_watchdog stop
功能:停止看门狗计数
参数:无
example:
cmd_watchdog stop
cmd_watchdog reset
功能:cpu复位重启
参数:无
example:
cmd_watchdog reset
3 Watchdog 应用接口分析
3.1 API详细介绍
相关源码见libhardware2/src/lib/watchdog下的watchdog.c
int watchdog_start(unsigned long ms)
功能:启动看门狗,同时设置最迟喂狗时间
参数:ms //最迟喂狗时间 单位 ms
返回值:成功:0
失败:负数
int watchdog_stop(void)
功能:停止看门狗计数
参数:无
返回值:成功:0
失败:负数
int watchdog_feed(void)
功能:喂狗
参数:无
返回值:成功:0
失败:负数
int watchdog_reset(void)
功能:cpu复位重启
参数:无
返回值:成功:0
失败:负数
3.2 使用流程
包含头文件:
#include <libhardware2/watchdog.h>
watchdog使用流程:
- watchdog_start 启动看门狗
- watchdog_feed 喂狗
- watchdog_stop 关闭看门狗