劉喬佳
摘 要
隨著嵌入式技術的快速發展,其在人們生活工作的方方面面都得到了廣泛的應用,在嵌入式系統開發的過程中只有合理遵循嵌入式產品的開發規律,才能開發出更加高效便捷的嵌入式產品。本文中對嵌入式系統的概念和相關關鍵技術進行分析,重點闡述了嵌入式系統不同于其他操作系統的特點,并指出嵌入式開發過程中常用的處理方法和過程,在此基礎上闡述了嵌入式軟件開發的一些技巧,望為相關嵌入式開發人員提供一定的參考。
【關鍵詞】嵌入式系統 嵌入式處理器 應用開發 技術分析
嵌入式系統將計算機硬件與軟件進行有效結合,構成可完成特定功能或任務的計算裝置,通常情況下嵌入式系統是系統或大型電子設備的一部分,其工作時需要與外界進行信息交互,在規定的時間約束內自主完成操作任務。嵌入式的軟件主要實現相關功能并保證系統具有一定的靈活性,而硬件主要是滿足性能需要和安全需要。隨著微電子技術的不斷成熟,以及計算機技術向非計算機領域的進一步滲透,嵌入式系統得到了社會各界的廣發認可,并且其展現出越來越高的市場回報,在嵌入式技術發展的過程中硬件部分的上升幅度正在逐漸縮小,而在嵌入式軟件上投入的費用正在大幅增加,相關專家預測在不久的將來嵌入式技術將在計算機領域占到重要的地位。
1 嵌入式系統的常用設計方法
相對于計算機應用設計而言,嵌入式應用開發具有更加繁瑣的設計流程,其設計的方面也更加廣泛,同時嵌入式技術也正逐漸向著“精”“小”的方向發展,這就為嵌入式應用的發展增添了更多難度,因此這就需要對嵌入式系統的設計技術進行全面的研究。
1.1 軟件與硬件的協同設計
嵌入式系統的應用開發與當前硬件所能提供的支持和當前軟件技術所能提供的控制緊密相關。在應用開發的過程中采用先進的硬件技術不僅僅可以提供更加的性能支持,同時還能精簡所用零件,有效利用系統的開發空間。在軟件語言選擇的方面,應用更加精準的語言形式可以提高代碼的緊湊型惡化運行效率,從而提高了軟件開發進程,保證了嵌入式系統的開發質量。嵌入式系統是硬件與軟件的混合體,因此在進行進行嵌入式應用開發的過程中,需要堅持軟件與硬件系統協同設計的原則,不僅需要滿足系統所需要的性能要求,還需要綜合考慮到嵌入式硬件與軟件的任務分工。
1.2 構件的模塊化設計
嵌入式系統在應用開發的過程中常采用模塊化的設計方法,其中組成各個軟件的基本部分被稱為構件,構件具有結構簡單、聲明分離和功能分裝等特點,通過構件組裝的方法進行嵌入式應用的開發可以在保證軟件質量的同時大大提高軟件開發的效率。事實上在進行實時的嵌入式應用開發的過程中,模塊化的設計方法是將功能、時間和容錯進行有效整合,并且在組合后更需要可以滿足系統的容錯需要,因此在進行嵌入式開發的過程中還需要其他配套的技術、工具和環境支持。
1.3 設計定式和框架
對于剛接觸嵌入式系統應用開發的技術人員,不知道如何采用最為適宜的軟件開發技巧,從而造成軟件開發的困難。為了緩解人們在進行嵌入式應用開發的困難,人們提出了軟件設計的定式和框架,其中定式是用來解決在特定上下文中開發軟件所遇到的問題,并且定式支持軟件結構和設計的重用,該方法可以解決在特定領域里建立應用而產生的問題,特別是對于小型結構的歸檔有很好的效果。框架是可重用的、結構相對完整的應用,用來為一類的相關應用提供一個可重用結構的部件集合,它支持詳細設計和代碼的重用以方便人們使用其構造相關的應用。在嵌入式應用開發的過程中,應用設計定式和框架技術,能夠有效改進軟件質量,明顯縮短軟件開發的時間,更有利于軟件實現開發的自動化。
2 嵌入式應用開發支持研究
嵌入式應用開發的典型形式是利用宿主機進行目標機軟件的開發與仿真,并用交叉調試器在監控程序或操作系統的支持下進行實時的分析與調試,最后完成通過特定環境在目標機上運行。
2.1 嵌入式應用開發的實時編程
在進行嵌入式實時應用開發的過程中,需要通過編程語言完成對實時嵌入式軟件的實現,并且編程語言能夠有相應的語言特征或手段支持其實現,或是能夠用操作系統來滿足實時嵌入式的特殊要求。在進行嵌入式軟件開發的過程中需要有一個穩定的編程環境,其中關鍵問題是實現交叉編譯,考慮到我國現階段的嵌入式發展特點,技術人員可以借鑒國外成熟的技術,并在此基礎上改造成適合我國國情的交叉編譯和相應開發環境。
2.2 嵌入式應用開發的實時內核
在進行嵌入式實時內核設計的過程中需要充分考慮到輪詢、協同、中斷驅動及前/后臺工作等性能需求,能全面管理任務、中斷、時間和處理器等操作,并要求可以用高級語言實現功能,設計出的實時內核需要滿足緊湊性好、效率高、可移植性強等特點。此外,實時內核的多處理器需要支持包括同構和異構在內的系統,同時其程序需要具有補償不同處理器之間結構差別的功能,從而實現一個處理器族到另一個處理器族的轉換。
2.3 嵌入式應用開發的實時數據庫
嵌入式實時系統的正確性不僅依賴于設計時的邏輯特性,同時還需要依賴于這些結果的時間特性,因此在進行數據庫的選擇時可以選擇具有并行數據處理的分布式數據庫,在滿足邏輯一致的同時還需要滿足事物處理完成時間的約束及數據訪問和更新時間約束等。在進行實時數據庫設計的過程中,需要保證在規定時間內處理事物的效率同時還要保持數據庫的一致性,就需要在調度算法時同時考慮到嵌入式的硬件資源和數據資源的調度。由于實時數據庫與普通數據庫存在顯著的差異,因此在進行實時數據庫設計的過程中不僅需要重新設計調度方法和實物管理,還需要增添通常數據庫中不存在的新概念以及對應的新技術。
3 結束語
嵌入式應用開發與以前從事的開發工作并沒有本質上的區別,其主要特點是嵌入式每個硬件平臺都是獨特的,從而導致了一系列附加的開發復雜性,因此在進行嵌入式應用開發的過程中需要格外進行注意。在嵌入式產品被廣泛應用的當下,只要嵌入式開發人員遵循嵌入式產品的開發規律,不斷適應市場的需求,就一定能開發出越來越多高效便捷的嵌入式產品。
參考文獻
[1]Labrosse Jean J.u C/OS-II -源碼公開的實時嵌入式操作系統.邵貝貝譯[M].北京:中國電力出版社,2001.
[2]Kirk Zurell.嵌入式系統的C程序設計.艾克武等譯[M].北京:機械工業出版社,2001.
[3]Tanenbaum Andrew S, Woodhull Albert S,王鵬等譯.操作系統:設計與實現(第2版)[M].北京:電子工業出版社,1998.
作者單位
天津現代職業技術學院信息工程學院 天津市 300350