
嵌入式開發環境組成
(資料圖片僅供參考)
嵌入式系統應用軟件的開發屬于跨平臺開發,因此需要一個交叉開發環境。
交叉開發是指在一臺通用計算機上進行軟件的編輯編譯,然后下載到嵌入式設備中運行調試的開發方式,它通常采用宿主機/目標機模式。用來開發的通用計算機可以選用比較常見的PC機等,運行通用的Windows等操作系統。
開發計算機一般稱宿主機,嵌入式設備稱為目標機,在宿主機上編譯好的程序,下載到目標機上運行,交叉開發環境提供調試工具對目標機上運行的程序進行調試。
交叉開發環境一般由運行于宿主機上的交叉開發軟件、宿主機到目標機的調試通道組成。
運行于宿主機上的交叉開發軟件最少必須包含編譯調試模塊,其編譯器為交叉編譯器。作為宿主機的一般為基于x86體系的桌上型計算機,而編譯出的代碼必須在目標機處理器體系結構上運行,這就是所謂的交叉編譯了。在宿主機上編譯好目標代碼后,通過宿主機到目標機的調試通道將代碼下載到目標機,然后由運行于宿主機的調試軟件控制代碼在目標機上運行調試。
軟件模擬環境也稱為指令集模擬器IIS(Instruction Set Simulator),在很多時候為保證項目進度,硬件和軟件開發往往同時進行,這時作為目標機的硬件環境還沒有建立起來,軟件的開發就需要一個模擬環境來進行調試。
模擬開發環境建立在交叉開發環境基礎之上,是對交叉開發環境的補充。這時,除了宿主機和目標機之外,還需要提供一個在宿主機上模擬目標機的環境,使得開發好的程序直接在這個環境里運行調試。
應用目標板是系統最終的電路板。
評估板(EVM板)一般用來作為開發者使用的學習板、實驗板,可以作為應用目標板出來之前的軟件測試、硬件調試的電路板。
開發評估電路板并不是嵌入式應用開發必須的,對于有經驗的工程師完全可以自行獨立設計自己的應用電路板和根據開發需要設計實驗板。
好的評估電路板一般文檔齊全,對處理器的常用功能模塊和主流應用都有硬件實現,并提供電路原理圖和相關開發例程與源代碼供用戶設計自己的應用目標板和應用程序作參考。
在嵌入式軟件的開發過程中,在確保軟件的正確性、實時性的前提下,必須關注軟件的可移植性和可重用性。
可移植性和可重用性的程度應該根據實際的應用情況來考慮。因為嵌入式應用軟件有自身的許多特點。追求過高的可移植性和可重用性可能會惡化應用軟件的實時性能和增加軟件的代碼量,這對于資源有限的嵌入式應用環境是得不償失的。
我們可以在資源有限、滿足系統的需求的情況下盡可能把可移植性和可重用性作為第二目標,致力于開發正確性、實時性能、代碼量、可移植性和可重用性相對均衡的嵌入式應用軟件。
提高應用軟件的可移植性和可重用性的方法:
多用高級語言少用匯編語言將不可移植部分局域化提高代碼的可重用性參考文獻:
孟祥蓮.嵌入式系統原理及應用教程(第2版)[M].北京:清華大學出版社,2017.