Skip to Main Content
建立嵌入式系統--傑出軟體的設計模式
book

建立嵌入式系統--傑出軟體的設計模式

by Elecia White
October 2012
Intermediate to advanced content levelIntermediate to advanced
328 pages
7h 19m
Chinese
GoTop Information, Inc.
Content preview from 建立嵌入式系統--傑出軟體的設計模式
142
|
第五章
watchdog 的目的是提供判斷系統是否有任何部分卡住的,理想上 watchdog 的服務只出
現在一個地方,某個程式會持續執行,顯示所有子系統都如預期般運作的地方。一般是
主迴圈,這表示 watchdog 必須有較長的逾時時間,在主迴圈監控整個系統比起使用較
短的逾時監控系統的一部分還來得好。
可惜的是,在某些系統 watchdog 沒辦法分離得這麼乾淨,某些低階程式碼必須傳送訊
號給 watchdog 時(這些程式碼很危險),某些地方發生了無法回復的錯誤,造成系統當
機,這些程式需要額外的處理以確定是否發生任何意外(並嚐試防止這些狀況發生)。
一般不希望 watchdog 在機板 bring-up 或除錯時發生作用,否則,系統會在中斷之後重
置。關閉中斷最直接的方式是透過除錯,如果系統有日誌方法(log method),確認在開
機時印出 watchdog 開啟狀態的訊息,這是開發人員在進行產品測試時希望能記得開啟
的功能,此外,能夠在 watchdog 作用時閃爍 LED 燈,如同系統的心跳,能夠輕易的從
系統外部判斷目前 watchdog 的狀態,讓使用者知道系統運作正常。
Watchdog 術語
提供 watchdog 服務讓它不會卡住以往稱為「踹狗一下」(kicking the dog)。
當作者任職於一家小型對寵物十分友善的公司時,對這件事感到十分驚訝。在午餐
時看著狗在旁邊玩耍,安靜休息讓人十分愉快。某天在為大客戶準備程式碼審查
的過程時,CEO 看到主迴圈裡的
KickTheDog() ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

HBASE技術手冊

HBASE技術手冊

Lars George
ANGULARJS建置與執行

ANGULARJS建置與執行

Shyam Seshadri, Brad Green
高效能PYTHON程式設計

高效能PYTHON程式設計

Micha Gorelick, Ian Ozsvald

Publisher Resources

ISBN: 9789862765784