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