當(dāng)前位置:首頁 > 公眾號精選 > strongerHuang
[導(dǎo)讀]關(guān)注、 星標(biāo)公眾號,不錯過精彩內(nèi)容 素材來源:Segger 編輯整理:strongerHuang 1994年1月25日,克萊門汀號發(fā)射升空,它是美國國家航空航天局(NASA)的衛(wèi)星,用于在長時間暴露于太空環(huán)境下測試傳感器和航天器組件。由于缺乏幾條看門狗代碼,它的任務(wù)于1994年


關(guān)注、 星標(biāo)公眾,不錯過精彩內(nèi)容

素材來源:Segger

編輯整理:strongerHuang


1994年1月25日,克萊門汀號發(fā)射升空,它是美國國家航空航天局(NASA)的衛(wèi)星,用于在長時間暴露于太空環(huán)境下測試傳感器和航天器組件。由于缺乏幾條看門狗代碼,它的任務(wù)于1994年5月7日丟失。


克萊門汀離開月球軌道并前往下一個目標(biāo)近地小行星Geographos時,已經(jīng)連續(xù)進(jìn)行了兩個月的月球制圖。然而不久,克萊門廷的一臺機(jī)載計算機(jī)出現(xiàn)故障,有效地阻止了NASA操作該航天器,并導(dǎo)致其推進(jìn)器之一不受控制地“開火。


NASA花了20分鐘的時間試圖使該系統(tǒng)恢復(fù)活力,但無濟(jì)于事。硬件重置命令最終使克萊門汀重新上線,但為時已晚,它已經(jīng)用盡了所有燃料,因此必須取消任務(wù)的繼續(xù)。


隨后,負(fù)責(zé)克萊門汀軟件的開發(fā)團(tuán)隊希望他們使用了硬件的看門狗定時器,因為事實證明,他們實施的軟件超時不足。


一、看門狗如何提供幫助?

看門狗是一種硬件,可以直接集成到微控制器(MCU)中,或者從外部連接到微控制器。它的主要目的是在可以安全地假定系統(tǒng)已掛起或執(zhí)行不正確時執(zhí)行錯誤處理(通常是硬件重置)。


看門狗的主要組件是一個計數(shù)器,該計數(shù)器最初配置為某個值,然后遞減為零。軟件必須經(jīng)常將此計數(shù)器重置為其初始值,以確保其永遠(yuǎn)不會達(dá)到零。否則,可能會導(dǎo)致故障,并且通常會復(fù)位CPU。這表明看門狗是萬不得已的選擇,只有在其他所有方法都失敗后才可以選擇,就像克萊門汀那樣。


二、如何喂看門狗

正確使用看門狗定時器并不像重新啟動計數(shù)器那樣簡單(此過程通常稱為“喂”或“踢”看門狗)。在系統(tǒng)中運行看門狗定時器的情況下,開發(fā)人員必須仔細(xì)選擇看門狗的超時時間,以便看門狗可以在故障系統(tǒng)執(zhí)行任何不可逆的惡意操作之前進(jìn)行干預(yù)。


在簡單的應(yīng)用程序中,特別是在不使用RTOS的情況下,開發(fā)人員通常會從主循環(huán)中提供看門狗。這種方法只需要配置適當(dāng)?shù)某跏加嫈?shù)器值即可,就像選擇一個超出整個主循環(huán)的最壞情況執(zhí)行時間至少一個計時器周期的任何值一樣簡單。這通常是一種相當(dāng)健壯的方法:雖然某些系統(tǒng)需要立即恢復(fù),但其他系統(tǒng)僅需要確保它們不會無限期掛起-這肯定會完成工作。


三、在多任務(wù)(RTOS)環(huán)境中

在更復(fù)雜的系統(tǒng)中,尤其是在多任務(wù)系統(tǒng)中,由于各種原因可能會使線程掛起。有些線程可以長時間不運行,例如等待接收數(shù)據(jù)的通信線程。定期提供看門狗的干凈方法,同時仍要確保每個不同的過程都處于良好狀態(tài),這已成為這些系統(tǒng)開發(fā)人員的主要挑戰(zhàn),例如,他們需要關(guān)注以下方面:

  • 操作系統(tǒng)是否正常執(zhí)行。
  • 高優(yōu)先級任務(wù)是否耗盡了CPU,從而完全阻止了低優(yōu)先級任務(wù)的運行。
  • 是否發(fā)生了阻礙執(zhí)行一項或多項任務(wù)的死鎖。
  • 任務(wù)例程是否正確且完整地執(zhí)行。
  • 開發(fā)人員還需要確保對源代碼進(jìn)行的任何修改(無論是專用的看門狗任務(wù)還是對受監(jiān)視任務(wù)的特定修改)都必須小且針對效率進(jìn)行優(yōu)化,以將干擾最小化。

四、利用RTOS的看門狗支持

有些RTOS操作系統(tǒng)(如SEGGER的embOS)自帶有看門狗解決方案,從而簡化了看門狗的處理,從而減少了在任何開發(fā)過程中花費的時間。


在RTOS中實現(xiàn)硬件看門狗的方法有很多種,我記得之前給大家分享過。其實,懂一些基本原理,自己都能設(shè)計。比如:每個任務(wù)添加“有關(guān)看門狗的計數(shù),超過設(shè)定時間做一定處理,否則看門狗復(fù)位。


當(dāng)然,一些操作系統(tǒng)自帶的看門狗功能,只需要調(diào)用API函數(shù)即可。比如embOS:任務(wù)可以簡單地在embOS看門狗模塊中注冊自己,并且可以同時分別配置其超時時間。然后,該任務(wù)可以通過調(diào)用一個簡單的embOS API函數(shù)來發(fā)信號通知其正確執(zhí)行。是否所有受監(jiān)視的任務(wù)都已在其指定的超時時間內(nèi)發(fā)出信號以指示其已正確執(zhí)行,隨后將通過另一個單個embOS API調(diào)用進(jìn)行檢查,該調(diào)用可以從專用的看門狗任務(wù)中,從OS_Idle()內(nèi)部,甚至從定期OS內(nèi)部執(zhí)行定時器中斷服務(wù)程序或任何其他ISR。


用戶只需要提供和注冊兩個功能:第一個執(zhí)行看門狗的硬件相關(guān)饋送,而第二個指定在看門狗計數(shù)器達(dá)到零的情況下采取的進(jìn)一步操作。例如,這允許將日志文件存儲到Flash,其中包含有關(guān)系統(tǒng)狀態(tài)的更多信息,然后再執(zhí)行硬件重置或采取任何其他措施。


五、最后

在開始使用看門狗設(shè)計和開發(fā)應(yīng)用程序時,盡早決定打算如何使用看門狗,并考慮可用的工具來幫助你更快地實現(xiàn)它。至少,你不想被困在“太空中,對吧?


免責(zé)聲明: 本文來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
推薦閱讀:
IAR進(jìn)軍Linux,支持在Linux搭建編譯環(huán)境
Linux 為何會流行?它和普通的RTOS有何區(qū)別?
Windows Terminal 1.0 和 Linux 版有啥區(qū)別

關(guān)注 微信公眾號『strongerHuang』,后臺回復(fù)“1024”查看更多內(nèi)容,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。


長按前往圖中包含的公眾號關(guān)注

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉