ARM+Linux下看門(mén)狗應用
現象、問(wèn)題描述
本文引用地址:http://dyxdggzs.com/article/235592.htmlinux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
筆者在設計ARM+Linux的產(chǎn)品中,使用了看門(mén)狗ADM706。這款I(lǐng)C的定時(shí)間隔為1.6s。由于使用ARM9的內核,操作系統為Linux。整個(gè)系統完全啟動(dòng)時(shí)間較長(cháng),超出了看門(mén)狗的喂狗時(shí)間門(mén)限。因此在CPU能完全啟動(dòng)開(kāi)始喂狗前,看門(mén)狗又給出了復位信號,導致CPU重啟。由于成本的原因,此款看門(mén)狗IC的定時(shí)復位間隔時(shí)間已經(jīng)定死,不能由CPU設置。我們無(wú)法通過(guò)更改看門(mén)狗的喂狗間隔時(shí)間來(lái)滿(mǎn)足CPU的啟動(dòng)要求。
關(guān)鍵過(guò)程及根本原因分析
使用的看門(mén)狗電路如圖1所示。RESET信號為看門(mén)狗輸出的復位信號,WDI為CPU輸出的喂狗信號。在1.6s的時(shí)間內,WDI信號有從高到低或者從低到高的變化,則看門(mén)狗內部的定時(shí)器清零,重新計數,無(wú)復位信號輸出。
由于采用Linux內核的操作系統,Bootloader采用U-Boot。在從U-Boot跳轉到Linux內核的過(guò)程中,必須關(guān)閉定時(shí)器中斷。CPU不能定時(shí)喂狗,且跳轉執行的間隔時(shí)間都大于1.6s。因此需要關(guān)閉看門(mén)狗的復位輸出信號,以使CPU能完全啟動(dòng)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論