HD-IMX6ULL-MB开发板,板载了一个硬件看门狗,下面介绍如何开启这个硬件看门狗。
一 硬件介绍
核心板上看门狗芯片是SP706,R314和R315两个电阻默认已经焊接,
- 当JP1断开时,nRST_IN受WDO引脚控制,看门狗功能开启
- 当JP1短接时,WDO_EN处一直连接到WTG_PWR,看门狗功能也会关闭
早期部分电路板,R314未焊接,nRST_IN不受WDO控制,看门狗功能一直关闭。
核心板引出了引脚WDO_EN,直接将这个引脚接到3.3V,可关闭看门狗功能。
上图芯片的WDI为芯片输入引脚,连接到SNVS_TAMPER0。根据芯片手册,当这个引脚保持HIGH or LOW 1.6s,WDO引脚会输出低电平。所以我们需要不断翻转SNVS_TAMPER0防止SP706拉低WDO(间接拉低nRST_IN)导致imx6ull复位。
二 uboot喂狗
因为看门狗功能,在芯片上电后,就一直开启,所以我们需要在uboot中就开始喂狗。
2.1添加watchdog驱动
在 driver/watchdog中修改imx_watchdog.c,添加看门狗初始化和喂狗程序:
*
* watchdog.c - driver for i.mx on-chip watchdog
*
* Licensed under the GPL-2 or later.
*/
#include <common.h>
#include <asm/io.h>