資料介紹
就像很遙遠(yuǎn)年代的人們思想還很保守,固守著自己一方凈土獨(dú)享著一份安逸。總認(rèn)為天圓地方一直在平淡而充實(shí)的生活,又好似紅樓夢(mèng)中的劉姥姥走進(jìn)大觀園看得眼花繚亂。對(duì)于75年以前人傳統(tǒng)觀念還比較濃重,對(duì)于那個(gè)年代的人來講所受到教育和現(xiàn)在應(yīng)該說是不一樣的。對(duì)于那個(gè)時(shí)代物資相對(duì)比較匱乏,科技相對(duì)有些落后沒有現(xiàn)在所謂的大數(shù)據(jù)、云計(jì)算、互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)。
從規(guī)范完善的開發(fā)周期到嚴(yán)格執(zhí)行和系統(tǒng)檢查,開發(fā)高可靠性嵌入式系統(tǒng)的技術(shù)有許多種。本文介紹了7個(gè)易操作且可以長久使用的技巧,它們對(duì)于確保系統(tǒng)更加可靠地運(yùn)行并捕獲異常行為大有幫助。
技巧1——用已知值填充ROM
軟件開發(fā)人員往往都是非常樂觀的一群人,只要讓他們的代碼忠實(shí)地長時(shí)間地運(yùn)行就可以了,僅此而已。微控制器跳出應(yīng)用程序空間并在非預(yù)想的代碼空間中執(zhí)行這種情況似乎是相當(dāng)少有的。然而,這種情況發(fā)生的機(jī)會(huì)并不比緩存溢出或錯(cuò)誤指針失去引用少。它確實(shí)會(huì)發(fā)生!發(fā)生這種情況后的系統(tǒng)行為將是不確定的,因?yàn)槟J(rèn)情況下內(nèi)存空間都是0xFF,或者由于內(nèi)存區(qū)通常沒有寫過,其中的值可能只有上帝才知道。
不過有相當(dāng)完備的linker或IDE技巧可以用來幫助識(shí)別這樣的事件并從中恢復(fù)系統(tǒng)。技巧就是使用FILL命令對(duì)未用ROM填充已知的位模式。要填充未使用的內(nèi)存,有很多不同的可能組合可以使用,但如果是想建立更加可靠的系統(tǒng),最明顯的選擇是在這些位置放置ISR fault handler。如果系統(tǒng)出了某些差錯(cuò),處理器開始執(zhí)行程序空間以外的代碼,就會(huì)觸發(fā)ISR,并在決定校正行動(dòng)之前提供儲(chǔ)存處理器、寄存器和系統(tǒng)狀態(tài)的機(jī)會(huì)。
技巧2——檢查應(yīng)用程序的CRC
對(duì)嵌入式工程師來說一個(gè)很大的好處是,我們的IDE和工具鏈可以自動(dòng)產(chǎn)生應(yīng)用程序或內(nèi)存空間校驗(yàn)和(Checksum),從而根據(jù)這個(gè)校驗(yàn)和驗(yàn)證應(yīng)用程序是否完好。有趣的是,在許多這些案例中,只有在將程序代碼加載到設(shè)備時(shí),才會(huì)用到校驗(yàn)和。
然而,如果CRC或校驗(yàn)和保持在內(nèi)存中,那么驗(yàn)證應(yīng)用程序在啟動(dòng)時(shí)(或甚至對(duì)長時(shí)間運(yùn)行的系統(tǒng)定期驗(yàn)證)是否仍然完好是確保意外之事不會(huì)發(fā)生的極好途徑。現(xiàn)在一個(gè)編程過的應(yīng)用程序發(fā)生改變的概率是很小的,但考慮每年交付的數(shù)十億個(gè)微控制器以及可能惡劣的工作環(huán)境,應(yīng)用程序崩潰的機(jī)會(huì)并不是零。更有可能的是,系統(tǒng)中的一個(gè)缺陷可能導(dǎo)致某一扇區(qū)發(fā)生閃存寫入或閃存擦除,從而破壞應(yīng)用程序的完整性。
技巧3——在啟動(dòng)時(shí)執(zhí)行RAM檢查
為了建立一個(gè)更加可靠和扎實(shí)的系統(tǒng),確保系統(tǒng)硬件正常工作非常重要。畢竟硬件會(huì)發(fā)生故障。(幸運(yùn)的是軟件永遠(yuǎn)不會(huì)發(fā)生故障,軟件只會(huì)做代碼要它做的事,不管是正確的還是錯(cuò)誤的)。在啟動(dòng)時(shí)驗(yàn)證RAM的內(nèi)部或外部沒有問題,是確保硬件可以如預(yù)期般運(yùn)作的一個(gè)好方法。
有許多不同的方法可用于執(zhí)行RAM檢查,但常用的方法是寫入一個(gè)已知的模式,然后等上一小段時(shí)間再回讀。結(jié)果應(yīng)該是所讀就是所寫。真相是,在大多數(shù)情況下RAM檢查是通過的,這也是我們想要的結(jié)果。但也有極小的可能性檢查不通過,這時(shí)就為系統(tǒng)標(biāo)示出硬件問題提供了極好的機(jī)會(huì)。
技巧4——使用堆棧監(jiān)視器
對(duì)許多的嵌入式開發(fā)者而言,堆棧似乎是一股相當(dāng)神秘的力量。當(dāng)奇怪的事情開始發(fā)生,工程師終于被難倒了,他們開始思考,也許堆棧中發(fā)生了什么事。結(jié)果是盲目地調(diào)整堆棧的大小和位置等等。但該錯(cuò)誤往往是與堆棧無關(guān)的,但怎能如此確定?畢竟,有多少工程師真的實(shí)際執(zhí)行過最壞情況下的堆棧大小分析?
- 7個(gè)技巧:提高嵌入式系統(tǒng)的可靠性
- 嵌入式系統(tǒng)開發(fā)概述
- 嵌入式系統(tǒng)開發(fā)設(shè)計(jì)
- ARM嵌入式系統(tǒng)開發(fā)_Android應(yīng)用開發(fā)入門(基礎(chǔ)版) 0次下載
- 嵌入式系統(tǒng)開發(fā)大作業(yè)
- 7個(gè)技巧開發(fā)更高可靠性的嵌入式系統(tǒng)資料下載
- 嵌入式教程之高可靠嵌入式系統(tǒng)設(shè)計(jì)的詳細(xì)資料說明 11次下載
- 嵌入式系統(tǒng)硬件可靠性分析 1次下載
- OMAP的嵌入式系統(tǒng)開發(fā) 7次下載
- 開發(fā)高可靠性的嵌入式系統(tǒng)技巧 0次下載
- 嵌入式系統(tǒng)軟件可靠性設(shè)計(jì)
- 嵌入式系統(tǒng)的系統(tǒng)測(cè)試和可靠性評(píng)估
- 嵌入式軟件的安全可靠性控制
- 嵌入式系統(tǒng)的系統(tǒng)測(cè)試和可靠性評(píng)估
- 嵌入式系統(tǒng)開發(fā)
- 嵌入式軟件的可靠性設(shè)計(jì) 840次閱讀
- 關(guān)于嵌入式系統(tǒng)開發(fā)必備的基礎(chǔ)知識(shí) 2875次閱讀
- 怎樣開發(fā)高可靠性嵌入式系統(tǒng)? 555次閱讀
- 嵌入式系統(tǒng)的七個(gè)開發(fā)技巧資料合集 3098次閱讀
- 嵌入式系統(tǒng)開發(fā)七大技巧 3090次閱讀
- 基于嵌入式技術(shù)的LED顯示屏控制系統(tǒng)淺析 3189次閱讀
- 基于Matlab/RTW實(shí)現(xiàn)實(shí)時(shí)仿真與嵌入式系統(tǒng)開發(fā)設(shè)計(jì) 4642次閱讀
- 關(guān)于軍用嵌入式系統(tǒng)的可靠性,你知道多少呢? 2437次閱讀
- 一文知道嵌入式存儲(chǔ)交換技術(shù)的可靠性如何增加 2016次閱讀
- 嵌入式系統(tǒng)開發(fā)學(xué)習(xí)心得體會(huì)_經(jīng)驗(yàn)總結(jié) 3w次閱讀
- 嵌入式系統(tǒng)開發(fā)的7個(gè)易操作且可以長久使用的技巧 4977次閱讀
- 漲姿勢(shì),嵌入式系統(tǒng)開發(fā)的7大技巧 ,你了解幾個(gè)? 830次閱讀
- 嵌入式系統(tǒng)開發(fā)的流程和提升可靠性的七大技巧 1041次閱讀
- 嵌入式系統(tǒng)開發(fā)實(shí)踐經(jīng)驗(yàn)分享 2465次閱讀
- 典型的嵌入式系統(tǒng)設(shè)計(jì) 2716次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論