一. 嵌入式系統開發與軟件開發的區別
- 平台開發種類不同。嵌入式系統開發是對於除了電腦之外的所有電子設備上操作系統的開發,開發對象有手機,掌上電腦,機電系統等;軟件開發一般是用某種程序設計語言來實現的,通常采用軟件開發工具可以進行開發,軟件分為系統軟件和應用軟件,並不只是包括可以在計算機上運行的程序。
- 資源限制不同。嵌入式系統通常是一個資源受限的系統,因此直接在嵌入式系統的硬件平台上編寫軟件比較困難,有時候甚至是不可能的。目前一般采用的解決辦法是首先在通用計算機上編寫程序,然后通過交叉編譯生成目標平台上可以運行的二進制代碼格式,最后再下載到目標平台上的特定位置上運行。軟件實現的根據是計算機語言。
- 工具使用不同。嵌入式系統開發需要與底層的硬件設備進行通信和交互操作。與設備相關。主要是對設備控制和操作。對編譯器的要求較高,不同處理器平台有各自的編譯器和調試軟件。需要專門的調試工具,尤其是一些專用設備。軟件開發與底層操作通過系統軟件的接口函數API來實現,與設備無關。主要是數據處理和UI界面處理。對編譯器沒有特別的要求,通常使用一些通用的編譯器和調試軟件。
- 代碼質量要求。
嵌入式系統對代碼的質量要求高,要求可執行的程序占用的存儲空間少。由於多任務同時運行,產生的錯誤比較多,因此在穩定性和性能上要求很高。
軟件開發對代碼的質量沒有特別的要求,在存儲空間上也沒有太多的限制。在穩定性和性能方面沒有嵌入式系統要求那么嚴格。
二. 嵌入式軟件和應用軟件的區別
- 嵌入式軟件:與底層相關,與硬件相關,是嵌入在硬件中的操作系統和開發工具軟件。
- 應用軟件:是嵌入式系統中的上層軟件,定義了嵌入式設備的主要功能和用途,負責與用戶進行交互。
- 嵌入式系統來說,系統軟件和應用軟件運行在目標品台上;對於各種軟件開發工具來說,大部分都運行在開發平台(PC機)上,如Win/Linux操作系統。
三. 嵌入式軟件測試與一般軟件測試區別
嵌入式軟件的開發和測試也就與普通軟件的開發和測試策略有了很大的不同,嵌入式軟件系統是一種針對特殊任務、特殊環境而進行特殊設計的定制產品,有其專門的開發環境、軟硬件緊密結合、嚴格的實時要求等特點。使得嵌入式軟件測試與普通軟件測試雖有相似之處,但有也有其自身獨特的特點。
3.1 相同點:
- 嵌入式軟件測試作為一種特殊的軟件測試,它的目的和原則與普通軟件測試是相同的,都是為了發現軟件缺陷,而后修正缺陷以提高軟件的可靠性。它們的中心任務都是驗證和確認其實際實現是否符合需求要求,在驗證過程中發現系統缺陷。
- 嵌入式軟件測和普通軟件測試對象相同,包括軟件中所有內容,貫穿軟件定義與開發的整個過程。也就是說,需求分析、概要設計、詳細設計、程序編碼等各階段所得到的文檔及源程序,包括需求規格說明、概要設計規格說明、詳細設計規格說明以及源程序,都應當稱為軟件測試的對象。
3.2 區別:
- 由於嵌入式系統的自身特點,如實時性(Real-timing),內存不豐富,I/O通道少,開發工具昂貴,並且與硬件緊密相關CPU種類繁多,等等。嵌入式軟件的開發和測試也就與一般商用軟件的開發和測試策略有了很大的不同,可以說嵌入式軟件是最難測試的一種軟件。
- 嵌入式軟件測試的各個階段測試的環境是不一樣的。
- 等等...
