軟件(software)是計算機系統中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關數據(data)及其說明文檔(document)。對于很多對嵌入式軟件系統不太了解的新手來說,對嵌入式軟件系統的認識還是很模糊的,那么在這里就讓你一次性了解個夠,讓你分分鐘了解嵌入式軟件系統。
首先我們先來看一下,嵌入式軟件系統的分類有哪些:
這張圖可以清楚的展現。
了解了嵌入式軟件系統的分類,那接下來就是最重要的嵌入式軟件系統的構成了,話不多說先上圖:
嵌入式軟件系統是由驅動層,操作系統層,中間件層,應用層構成的,下面一一來了解:
1.驅動層
這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統 時間片,而導至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可 能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前 的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式 系統四層中可是最高的。
驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
2. 操作系統層
對于操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅 動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞 定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
3.中間件層
目前在一些復雜的嵌入式系統中也開始采用中間件技術,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向應用領域的中間件軟件
4.應用層
相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。如果涉 及Jave方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統范疇內。但如果涉及嵌入式系統下面嵌入式數據庫、 基于嵌入式系統的網絡編程和基于某此應用層面的協議應用開發方面又較為復雜,并且有難度了。
嵌入式軟件系統的構成很簡單,如果你要學習的話,建議一個一個來攻破,把握每一個構成的特點,那么你就會學的很快,而且,現在嵌入式行業發展這么快,還不快抓緊機會?