- 物聯網嵌入式技術項目教程
- 張小恒 李靜主編
- 1371字
- 2023-06-28 16:06:04
1.1.3 嵌入式軟件及開發環境
1.嵌入式軟件特點
(1)獨特實用性
嵌入式軟件與外部硬件和設備聯系緊密,根據應用需求定向開發,面向產業,面向市場,每種具體的嵌入式軟件都有各自獨特的應用環境和實用價值。
(2)靈活實用性
嵌入式軟件作為嵌入式系統中的模塊化軟件十分靈活,配置上極其優化,對系統整體繼承性較小,升級更新非常方便。
(3)軟件代碼精簡
由于嵌入式系統本身的有限存儲空間,以及低成本、低功耗等限制,使嵌入式軟件相比其他大型機軟件具有更加精簡、效率更高的特點。
(4)高可靠性穩定性
嵌入式系統的應用領域如汽車、工業控制、航空、航天等對軟硬件的可靠性穩定性要求很高,因此嵌入式軟件需要具有高可靠性、高穩定性,以及完備的錯誤處理故障恢復等功能。
2.嵌入式軟件分類
(1)嵌入式系統軟件
嵌入式系統軟件是用于整體系統控制及管理的軟件資源,包括硬件抽象層(Hardware Abstraction Layer,HAL)、板級支持包(Board level Support Package,BSP)、設備驅動程序、嵌入式操作系統及中間件等。
(2)嵌入式應用軟件
作為嵌入式系統的上層軟件,嵌入式應用軟件主要負責與用戶交互,面向特定的應用,如音視頻播放器、電子地圖、通信社交、環境溫濕度采集、飛行控制等軟件。應用軟件通過應用程序接口(Application Programming Interface,API)與底層操作系統進行交互。
(3)嵌入式支撐軟件
嵌入式支撐軟件主要是輔助嵌入式軟件開發的工具軟件,如在線仿真、交叉編譯器、程序模擬器等工具軟件。
3.嵌入式操作系統
(1)嵌入式操作系統特點
1)可裝卸性。具有開放性、可伸縮性的體系結構。
2)強實時性。嵌入式操作系統(Embedded Operating System,EOS)實時性一般較強,可用于各種設備控制中。
3)統一的接口。可提供各種設備驅動接口。
4)友好的交互性。操作簡單、方便、提供友好的圖形用戶接口(Graphical User Interface,GUI),圖形界面追求易學易用。
5)強大的網絡功能。支持TCP/IP及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。
6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶接口一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
7)固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,各種內存文件系統被廣泛使用。
8)良好的移植性。為了適應多種多樣的硬件平臺,嵌入式操作系統可在不做大量修改的情況下穩定地運行于不同的平臺。
(2)常見的嵌入式操作系統
常見的嵌入式操作系統有μC/OS-II、eCos、Windows CE、VxWorks、pSOS、QNX、Palm OS以及嵌入式Linux等。
(3)嵌入式軟件開發環境
1)常見集成開發環境和工具。常見的嵌入式集成開發環境和工具包括GNU工具鏈、ARM Developer Suite、WindRiver Tornado、Microsoft Embedded Visual C++等。
2)嵌入式交叉開發環境。嵌入式系統通常是一個資源受限的系統,直接在嵌入式系統的硬件平臺上編寫軟件比較困難,因此,需要一個交叉開發環境(Cross Development Environment),如圖1-3所示。所謂交叉開發是指在通用計算機上編輯、編譯程序,生成目標平臺上可以運行的二進制代碼格式指令,最后下載到目標平臺上運行調試的開發方式。即宿主機-目標機開發方式。

圖1-3 嵌入式交叉開發環境
3)嵌入式調試手段。嵌入式調試一般分為硬件調試及軟件調試,硬件調試一般包括邏輯故障排除、元器件故障排除、電源故障排除;軟件調試一般包括源程序模擬器、ROM監控器、在線仿真器及在線調試器等手段。