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