理解为什么在uboot阶段要关闭watchdog

1、简要理解什么是watchdog?

在嵌入式系统中,很多应用场景是系统长期运行且无人看守的,难免会有概率出现系统死机的情况,此时watchdog的作用就是自动帮你重启系统。

watchdog一般为硬件模块。它的硬件逻辑是,硬件上有个记录超时功能,然后要求用户需要每隔一段时间(此时间可以根据自己需求而配置)去对其进行一定操作,比如往里面写一些固定的值,俗称“喂狗”,当发现超时了,即过了这么长时间你还未给硬件喂食,那么此时就认为系统死机了,出问题了,watchdog就帮忙重启系统。

 

2、为什么在系统初始化的时候(uboot阶段)关闭watchdog呢?

uboot阶段就相当于是裸机,没有上系统。uboot阶段只是初始化必要的硬件资源和系统资源而已,完全用不到watchdog的机制。只有等到kernel跑起来后,需要系统关心watchdog的事情,watchdog和uboot阶段没什么关系,所以才会在uboot阶段关闭watchdog(的reset功能),否则还需要单独写程序去定期“喂狗”防止它reset。

你可能感兴趣的:(嵌入式)