一、什麼是看門狗?
看門狗本身是乙個定時器,如果你在定時器完成之前未重置計時器的值那麼它就會重啟整個系統。但是我們
系統正常執行下並不希望他重啟,所以就需要「餵狗「這個操作(即每次定時結束之前給定時器值重置)。
二、什麼時候會用到看門狗?
假設我們將一些裝置放在環境惡劣的情況下,如果裝置出現了問題可能需要乙個復位就好了,這時候人不可
能再去一次這種地方去復位它,這時候你要是開啟了看門狗,但是由於系統故障並未及時餵狗,這時候看門
狗就會復位裝置。
三、為什麼需要關閉看門狗?
現在我們在人工使用這個裝置當然不需要看門狗的這種在系統故障下自動復位的功能。
四、與看門狗相關的暫存器
wtcon:看門狗主要功能的設定,如開/關看門狗,使能中斷,使能重啟,設定時鐘分頻多少等等。
wtdat:看門狗過載的計數值
wtcnt:看門狗當前的計數值
wtclrint:清中斷,寫1進去就是清除中斷
五、wtdat暫存器和wtcnt暫存器的關係:看門狗剛剛啟動時,wtdat的值是不會自動過載到wrcnt的
(這裡wtdat的值自動過載進wtcnt內是僅發生中斷的情況下的,發生完中斷後,wtdat的值就會自動
過載進wtcnt內,然後wtcnt開始自動減一,開始下一次計時。不會發生在重啟的原因是:重啟時,斷電,
一切暫存器內的值都不存在了,並且重啟的是後也不需要自動過載,因為它又進過了一次初始化,用初始化
的值就可以了
),因此,在啟動看門狗之前,我們必須寫乙個初始值給wtcnt暫存器。
六、看門狗時鐘分頻的介紹
七、**實現
void wdt_init_interrupt(void)
rwtclrint = 1;
還有餵狗操作
//清中斷,這裡是設定任意數就可以清零了
void feed_dog(void)
歡迎各位指出不足之 ARM裸機 S5PV210簡析
armv7架構是在armv6架構的基礎上誕生的。該架構採用了thumb 2技術,thumb 2技術是在arm的thumb 壓縮技術的基礎上發展起來的,並且保持了對現存arm解決方案的完整的 相容性。thumb 2技術比純32位 少使用 31 的記憶體,減小了系統開銷。同時能夠提供比已有的基於thum...
ARM之S5pv210的亮燈實驗
第一我在此強調的是,要學會根據原理圖和相關的手冊實現基本功能,主要學習這個過程。正文 第一步 先看原理圖了解led是和哪個管腳連線的,然後我們才能通過操作暫存器的方式 控制管腳,進而控制led 通過原理圖可知 要想將led點亮,只需要將 gpj0端設定為低電平,並且為輸出狀態 就可以了,這裡我們只設...
S5PV210 裸機中斷
這裡我以外部中斷為例畫出了中斷響應的過程。當外部中斷得到響應,會由硬體自動轉到異常向量表,執行對應的異常處理程式。在這裡指的就是irq的處理程式。在異常處理程式irq handle中將會執行現場的保護與恢復,以及最重要的中斷處理函式 注意,這裡就來到了中斷處理部分,而不是異常處理了,相當於是乙個兩級...