什么是watchdog + 为何在要系统初始化的时候关闭watchdog
本帖最后由 crifan 于 2011-04-18 00:58 编辑
什么是watchdog + 为何在要系统初始化的时候关闭watchdog
关于Uboot初始化阶段,在start.S中,为何要去关闭watchdog,下面解释具体的原因:
1.什么是watchdog
嵌入式系统之WATCHDOG(看门狗)概述
http://wenku.baidu.com/view/e5cd52ff04a1b0717fd5dd27.html
简要摘录如下:
watchdog一般是一个硬件模块,其作用是,在嵌入式操作系统中,很多应用情况是系统长期运行且无人看守,所以难免或者怕万一出现系统死机,那就杯具了,这时,watchdog就会自动帮你重启系统。
那么其是如何实现此功能的呢?那么就要简单解释一下其实现原理了。
watchdog硬件的逻辑就是,其硬件上有个记录超时功能,然后要求用户需要每隔一段时间(此时间可以根据自己需求而配置)去对其进行一定操作,比如往里面写一些固定的值,俗称“喂狗”,那么我发现超时了,即过了这么长时间你还不给偶喂食,那么偶就认为你系统是死机了,出问题了,偶就帮你重启系统。说白了就是弄个看家狗dog,你要定期给其喂食,如果超时不喂食,那么狗就认为你,他的主人,你的系统,死机了,就帮你reset重启系统。
2.为何在要系统初始化的时候关闭watchdog
了解了watchdog的原理后,此问题就很容易理解了。
如果不禁用watchdog,那么就要单独写程序去定期“喂狗”,那多麻烦,多无聊啊。
毕竟咱此处只是去用uboot初始化必要的硬件资源和系统资源而已,完全用不到这个watchdog的机制。需要用到,那也是你linux内核跑起来了,是你系统关心的事情,和我uboot没啥关系的,所以肯定此处要去关闭watchdog(的reset功能)了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
這個問題還是比較容易理解,LZ這次發的幾個帖子都不錯哦。頂一下
good ! it helps .
还有种多芯片间的watchdog需要通信喂狗的
学习了,原来看到linux进程中有这个watchdog 今天才明白是这个作用啊
学习了,原来看到linux进程中有这个watchdog 今天才明白是这个作用啊
好贴 很基础
受教了 单片机的看门狗一样吧
我各人的看法:是不是因为在boot阶段系统不能喂狗所以才把watchdog关闭了?如果关闭watchdog的话,你又不去喂狗,watchdog会不会在系统启动过程中复位系统?
顶一下,最近刚写 了一个看门狗的简单驱动,因为用到了很多定时器,是防止应用程序限入死循环的,在大循环里喂的狗。