1. 硬件原理图
这里使用了ADM706芯片,wdi喂狗引脚与CPUGPIO3相连。
wdo看门狗超时复位信号输出引脚,与/MR手动复位输入相连,也就是会产生一个RESET信号。
原理图如下所示:
2. uboot中添加watchdog喂狗功能
首先需要在include/configs/xxx.h文件中,添加一个宏定义:
#defineCONFIG_HW_WATCHDOG
启动HW_WATCHDOG功能。
因为在include/watchdog.h中有WATCHDOG宏定义如下:
#ifdefCONFIG_HW_WATCHDOG
#if defined(__ASSEMBLY__)
#define WATCHDOG_RESET blhw_watchdog_reset
#else
extern voidhw_watchdog_reset(void);
#define WATCHDOG_RESEThw_watchdog_reset
#endif /* __ASSEMBLY__ */
#else
/*
* Maybe a software watchdog?
*/
#if defined(CONFIG_WATCHDOG)
#if defined(__ASSEMBLY__)
#define WATCHDOG_RESETbl watchdog_reset
#

本文详细介绍了在PowerPC平台上使用ADM706芯片实现Watchdog的技术,包括硬件原理图解析,如何在Uboot中添加喂狗功能,以及Linux驱动中设置定时喂狗程序的实现。在Uboot中,通过配置宏定义启用硬件Watchdog,并定义相关函数进行喂狗操作。而在Linux驱动部分,创建了一个定时器,周期性地调用函数喂狗,确保系统的稳定性。
最低0.47元/天 解锁文章
5751

被折叠的 条评论
为什么被折叠?



