一、嵌入式軟件特點
(1) 實時性:環境特定;快速啟動
(2)異步事件的并發處理:多任務;隨機性
(3)應用/操作系統一體化:VxWorks; Linux
(4)應用固化:不可修改性
(5)實用性:面向行業;定向開發
(6)適用性:可裁減,適應應用
(7)魯棒性:容錯
(8)夠用即可:成本、資源
(9)可信性:安全、防危、可靠等
二、嵌入式軟件開發過程各個階段的任務劃分
嵌入式開發應該具有以下的8個過程以及任務劃分:
(1)確定嵌入式軟件的需求:
確認功能需求: 基本功能/擴展功能,對應于軟件功能的硬件
確認非功能需求: 外觀、尺寸、功耗、成 本、實時、安全、可靠等面向開發者的需求選擇
(2)微處理器和相關硬件設備
確定嵌入式處理器:應用規模、領域
確定功能硬件:處理器相關、應用功 能確定
確定目標板設計需求:配套芯片、外 觀、尺寸、功耗、成本
(3)選擇操作系統
確定來源:自己編寫、使用現成的系統
確定選擇:應用領域、實時 CPU支持、功能、成本、資源占用情況、語言支持
(4) 確定軟件體系結構:核心因素
(5) 選擇開發平臺
確定開發平臺:考慮操作系統、編碼工具、仿真工具、調試工具
(6)嵌入式軟件設計
確定軟件設計:任務劃分、約束(實 時、安全等)保障
(7)編碼測試
編碼,交叉編譯、下載并且調試,進行測試
(8) 軟件測試
基本方法:類似于一般軟件測試
考慮特殊性、可靠性測試、實時性測試、并發性測試和資源占用測試
三、嵌入式軟件開發方法
嵌入式軟件開發方法有:
(1)語言描述
(2)形式化描述
(3)流程圖
(4)結構圖
(5)偽代碼
(6)有限狀態機
四、有限狀態機的基本概念
(1)基本概念:有限狀態機是一種以描述有限個狀態在動作/事件行為驅動下,系統控制狀態及其狀態轉移為主的數學模型有限狀態機實現了以下兩個基本功能:根據當前狀態和輸入條件決定狀態機的內部狀態轉換;根據當前狀態和輸入條件確定產生輸出信號序列。
(2)具體實現方法
在任意時刻,系統只能處于給定數量狀態中的一個,當其接收到一個輸入事件(動作)時,狀態機產生一個輸出,同時可能伴隨狀態的轉移.
五、嵌入式軟硬件協同設計流程
嵌入式軟硬件協同設計流程如下:
(1)嵌入式系統的需求獲取與需求分析
(2)軟硬件功能劃分,設計系統的體系結構:選擇處理器 和相關外部設備,操作系統,開發平臺以及軟硬件的分割和 總體系統集成
(3)硬件的結構設計、軟件的系統設計
(4)軟硬件詳細設計
(5)軟件代碼開發,軟件測試與調試
(6)軟硬件的聯調和系統集成
(7)系統的仿真驗證和測試
(8)實現最終系統
六、嵌入式系統的硬件可靠性設計
在設計硬件系統的時候,應先根據系統的性能指標和功能要求決定系統的結構形式、劃分軟硬件的分工,確 定具體電路形式及元器件選型等設計工作。應該考慮以下因素:
(1)簡化方案
(2)避免片面追求高性能指標和過多的功能
(3)合理劃分軟/硬件功能
(4)盡可能用數字電路代替模擬電路
(5)變被動為主動
七、嵌入式系統的軟件可靠性設計類型
嵌入式系統的軟件可靠性設計一般有四種類型:避錯設計、查錯設計、改錯設計和容錯設計
八、嵌入式系統的硬件測試流程和軟件測試流程
硬件調試
(1)通電前硬件檢測:連線是否正確,電源是否短路以及元器件的安裝情況。
(2)通電檢測:觀察電路有無異常狀況(如冒煙現象), 靜態調試,動態調試。
(3)靜態調試:一般指在不加輸入信號,或只加固定的電平信號的條件下進行的測試,可用萬用表測量各點的電位,與理論值比較,判斷電路中 電壓電流是否正常。
(4)動態調試:在電路中加入合適的信號,按信號的流向,順序檢測各點的輸出信號,如若發現不正?,F象,應分析其原因,并排除故障,再進 行調試,直到滿足要求。
(5)環境測試,震動測試,產品外型測試等。
軟件調試:
(1)模塊測試(單元測試): 完成對最小的軟件設計單元的驗證工作,只有在該基礎之 上才能保證后續的測試工作。主要采用白盒測試技術,用來保證單元的最大覆蓋率和發現編碼和詳細設計中的錯誤。
(2)集成測試: 是把經過單元測試的模塊按軟件的結構組合在一起作為一個系統或一個子系統來綜合測試。主要是用來發現程序的架構和體系結構設計方面的錯誤。
(3)系統測試和確認測試: 將系統的測試軟件系統和其他資源(硬件、人機交互信息 資源和數據庫等)都綜合起來構成完整的計算機應用系統進行測試的。
九、電磁兼容性
電磁兼容,是指設備或系統在電磁環境中性能不降級的狀態。電磁兼容性,一方面要求系統內沒有嚴重的干擾源,一方面要求設備或系統 自身有較好的抗電磁干擾性。
Copyright © 小草集團備案號:桂ICP備05000520號-3訂閱 / 站點地圖
技術支持:小草信息產業@2019-2020