理解為什麼在uboot階段要關閉watchdog

2021-09-02 02:14:04 字數 493 閱讀 6670

1、簡要理解什麼是watchdog?

在嵌入式系統中,很多應用場景是系統長期執行且無人看守的,難免會有概率出現系統宕機的情況,此時watchdog的作用就是自動幫你重啟系統。

watchdog一般為硬體模組。它的硬體邏輯是,硬體上有個記錄超時功能,然後要求使用者需要每隔一段時間(此時間可以根據自己需求而配置)去對其進行一定操作,比如往裡面寫一些固定的值,俗稱「餵狗」,當發現超時了,即過了這麼長時間你還未給硬體餵食,那麼此時就認為系統宕機了,出問題了,watchdog就幫忙重啟系統。

2、為什麼在系統初始化的時候(uboot階段)關閉watchdog呢?

uboot階段就相當於是裸機,沒有上系統。uboot階段只是初始化必要的硬體資源和系統資源而已,完全用不到watchdog的機制。只有等到kernel跑起來後,需要系統關心watchdog的事情,watchdog和uboot階段沒什麼關係,所以才會在uboot階段關閉watchdog(的reset功能),否則還需要單獨寫程式去定期「餵狗」防止它reset。

為什麼U boot程式中要設定成svc模式?

特權模式 除使用者模式外,其它模式均為特權模式 privileged modes arm 內部暫存器 和一些 片內外設 在硬體設計上只允許 或者可選為只允許 特權模式下訪問。此外,特權模式可以自由的切換處理器模式,而使用者模式不能直接切換到別的模式。異常模式 特權模式中除系統 system 模式之外...

從cpu和記憶體來理解為什麼陣列比鍊錶查詢快

1.arraylist和linkedlist可想從名字分析,它們乙個是array 動態陣列 的資料結構,乙個link 鍊錶 的資料結構,此外,它們兩個都是對list介面的實現。前者是陣列佇列,相當於動態陣列 後者為雙向鍊錶結構,也可當作堆疊 佇列 雙端佇列 2.arraylist查詢效率比linkl...

計算自然數e以及怎樣理解為什麼出現這麼乙個數

今天在做php實驗二的題目時遇到了用公式求自然數e的值的問題。這讓我又想起了為什麼出現乙個這樣的數的問題,畢竟之前也一直沒有老師解析過,可能他們經過多年的學習,早已覺得這是再自然不過的事情,就好像與生俱來一樣,沒有什麼好疑問的。如今我覺得自然數e正如它的名字一樣,是自然界中存在的乙個特殊數字,我們在...