Skip to main content

Watchdog

1 Iconfig配置配置

以x1600e_halley6_nand_factory_defconfig为例. 打开IConfigTool工具,选择配置文件

9

x1600驱动列表勾选watchdog驱动,libhardware2勾选watchdog shell命令

1

2

配置完后保存

5

重新编译配置

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使用流程:

  1. watchdog_start 启动看门狗
  2. watchdog_feed 喂狗
  3. watchdog_stop 关闭看门狗