為什么arm上電要關(guān)閉watchdog
2.
本文引用地址:http://www.biyoush.com/article/201611/319254.htmwatchdog一般是一個硬件模塊,其作用是,在嵌入式操作系統(tǒng)中,很多應(yīng)用情況是系統(tǒng)長期運(yùn)行且無人看守,所以難免或者怕萬一出現(xiàn)系統(tǒng)死機(jī),那就杯具了,這時,watchdog就會自動幫你重啟系統(tǒng)。
那么其是如何實(shí)現(xiàn)此功能的呢?那么就要簡單解釋一下其實(shí)現(xiàn)原理了。
watchdog硬件的邏輯就是,其硬件上有個記錄超時功能,然后要求用戶需要每隔一段時間(此時間可以根據(jù)自己需求而配置)去對其進(jìn)行一定操作,比如往里面寫一些固定的值,俗稱“喂狗”,那么我發(fā)現(xiàn)超時了,即過了這么長時間你還不給偶喂食,那么偶就認(rèn)為你系統(tǒng)是死機(jī)了,出問題了,偶就幫你重啟系統(tǒng)。說白了就是弄個看家狗dog,你要定期給其喂食,如果超時不喂食,那么狗就認(rèn)為你,他的主人,你的系統(tǒng),死機(jī)了,就幫你reset重啟系統(tǒng)。
3.
了解了watchdog的原理后,此問題就很容易理解了。
如果不禁用watchdog,那么就要單獨(dú)寫程序去定期“喂狗”,那多麻煩,多無聊啊。
畢竟咱此處只是去用uboot初始化必要的硬件資源和系統(tǒng)資源而已,完全用不到這個watchdog的機(jī)制。需要用到,那也是你linux內(nèi)核跑起來了,是你系統(tǒng)關(guān)心的事情,和我uboot沒啥關(guān)系的,所以肯定此處要去關(guān)閉watchdog(的reset功能)了。
評論