• <object id="wee46"></object>
  • <center id="wee46"><tt id="wee46"></tt></center><kbd id="wee46"></kbd>
  • <sup id="wee46"></sup>
  • 廈門IT培訓
    美國上市IT培訓機構

    13429669395

    嵌入式環境下軟件設計的特點

    • 時間:2020-11-04 13:57
    • 發布:廈門達內IT培訓
    • 來源:疑難解答

    要談嵌入式的軟件架構,首先必須了解嵌入式軟件設計的特點。

    1、和硬件密切相關嵌入式軟件普遍對硬件有著相當的依賴性。

    這體現在幾個方面:一些功能只能通過硬件實現,軟件操作硬件,驅動硬件。硬件的差異/變更會對軟件產生重大影響。沒有硬件或者硬件不完善時,軟件無法運行或無法完整運行。

    這些特點導致幾方面的后果:

    (1)軟件工程師對硬件的理解和熟練程度會很大程度的決定軟件的性能/穩定性等非功能性指標,而這部分一向是相對復雜的,需要資深的工程師才能保證質量。

    (2)軟件對硬件設計高度依賴,不能保持相對穩定,可維護性和可重用性差

    (3)軟件不能離開硬件單獨測試和驗證,往往需要和硬件驗證同步進行,造成進度前松后緊,錯誤定位范圍擴大。

    針對這些問題,有幾方面的解決思路:

    (1)用軟件實現硬件功能。選用更強大的處理器,用軟件來實現部分硬件功能,不僅可以降低對硬件的依賴,在響應變化,避免對特定型號和廠商的依賴方面都很有好處。這在一些行業里已經成為了趨勢。在PC平臺也經歷了這樣的過程,比如早期的漢卡。

    (2)將對硬件的依賴獨立成硬件抽象層,盡可能使軟件的其他部分硬件無關,并可以脫離硬件運行。一方面將硬件變更甚至換件的風險控制在有限的范圍內,另一方面提高軟件部分的可測試性。

    2、穩定性要求高

    大部分嵌入式軟件都對程序的長期穩定運行有較高的要求。比如手機經常幾個月開機,通訊設備則要求24*7正常運行,即使是通訊上的測試設備也要求至少正常運行8小時。為了穩定性的目標,有一些比較常用的設計手段:

    將不同的任務分布在獨立的進程中。良好的模塊化設計是關鍵

    Watch Dog, Heart beat,重新啟動失效的進程。

    完善而統一的日志系統以快速定位問題。嵌入式設備一般缺乏有力的調試器,日志系統尤其重要。

    將錯誤孤立在最小的范圍內,避免錯誤的擴散和連鎖反應。核心代碼要經過充分的驗證,對非核心代碼,可以在監控或者沙盒中運行,避免其破壞整個系統。

    舉例,Symbian上的GPRS訪問受不同硬件和操作系統版本影響,功能不是非常穩定。其中有一個版本上當關閉GPRS連接時一定會崩潰,而且屬于known issue。將GPRS連接,HTTP協議處理,文件下載等操作獨立到一個進程中,雖然每次操作完畢該進程都會崩潰,對用戶卻沒有影響。

    版權聲明:轉載文章來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

    預約申請免費試聽課

    怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選!

    上一篇:嵌入式知識:怎么解決內存不足的問題
    下一篇:裸編程怎么做?裸編程具體做法

    UI設計怎么學?學完UI設計可以從事哪些工作?

    學好平面設計需要哪些知識

    快速改善UI設計的技巧有哪些

    零基礎如何入門UE交互設計?

    • 關注微信公眾號

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    江西省

    貴州省

    廣西省

    海南省

    深夜办公室完整版在线观看,中文文字幕在线电影,尹人在线最新香蕉视频,欧美,日韩,国产,专区