You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
那么其是如何实现此功能的呢?那么就要简单解释一下其实现原理了。<br />
watchdog 硬件的逻辑就是,其硬件上有个记录超时功能,然后要求用户需要每隔一段时间<br />
(此时间可以根据自己需求而配置)去对其进行一定操作,比如往里面写一些固定的值,俗<br />
称“喂狗”,那么我发现超时了,即过了这么长时间你还不给偶喂食,那么偶就认为你系统<br />
是死机了,出问题了,偶就帮你重启系统。说白了就是弄个看家狗 dog,你要定期给其喂食,<br />
如果超时不喂食,那么狗就认为你,他的主人,你的系统,死机了,就帮你 reset 重启系统。<br />
3.2.2. 为何在要系统初始化的时候关闭 watchdog<br />
了解了watchdog的原理后,此问题就很容易理解了。<br />
如果不禁用watchdog,那么就要单独写程序去定期“喂狗”,那多麻烦,多无聊啊。<br />
毕竟咱此处只是去用uboot初始化必要的硬件资源和系统资源而已,完全用不到这个watchdog<br />
的机制。需要用到,那也是你linux内核跑起来了,是你系统关心的事情,和我uboot没啥关系<br />
的,所以肯定此处要去关闭watchdog(的reset功能)了。<br />
3.3. 为何 ARM7 中 PC=PC+8<br />
此处解释为何ARM7中,CPU地址,即PC,为何有PC=PC+8这一说法:<br />
总所周知,AMR7,是三级流水线,其细节见图:<br />
图表 23 AMR7 三级流水线<br />
首先,对于 ARM7 对应的流水线的执行情况,如下面这个图所示:<br />
ARM7