本文共 542 字,大约阅读时间需要 1 分钟。
看门狗作用:在嵌入式领域,有些系统需要长期运行在无人看守的环境。在运行过程中,难免不出现系统死机的情况,这时就需要系统自身带有一种自动重启的功能。watchdog一般是一个硬件模块,其作用就是在系统死机时,帮助系统实现重新启动。
看门狗工作方式:watchdog在硬件上实现了计时功能,启动计时后,用户(软件)必须在计时结束前重新开始计时,俗称“喂狗”,如果到了约定的时间还没有重新开始计时,那么它就认为系统死机了,就自动重启系统。 看门狗原理图:uboot以及一般的bootloader都会关闭看门狗,这是因为bootloader较简单,没有复杂的功能,不会出现死机的情况。如果不关闭看门狗,则需要不断“喂狗”,因此为了节省资源,减少不必要的操作都会关闭看门狗。
通过WTCON寄存器可以实现看门狗的关闭或者使用。 以S3C2440芯片为例,WTCON寄存器:由上图可知,WTCON地址为0x53000000,该寄存器最后一位置零就可以关闭看门狗,为了方便,可以将整个寄存器置零
汇编代码:#define pWTCON 0x53000000disable_watchdog: ldr r0, =pWTCON mov r1, #0x0 str r1, [r0]