嵌入式操作系統及編程
㈠ 嵌入式系統開發的基礎知識
一、軟體方面的知識:
1、嵌入式微處理器結構與應用:
或傳統的「微機原理與介面」課程,嵌入式是軟硬體結合的技術,搞嵌入式系統的人應對ARM處理器工作原理和介面技術有充分了解,包括匯編指令系統。不了解處理器原理,就沒辦法寫出驅動程序。在嵌入式開發的一些關鍵部分,如Bootloader等,主要靠匯編寫程序。
2、嵌入式操作系統類課程:
從事嵌入式系統的人至少須掌握一個嵌入式操作系統(當然越多越好),目前最重要的RTOS主要包括:
(1)、傳統的經典RTOS:最主要的是Vxworks操作系統,以及其Tornado開發平台。Vxworks出現早,實時性很強,並且內核可極微,可靠性較高。特別在通信設備等實時性要求較高的系統中,有比較廣泛的應用。
(2)、嵌入式linux操作系統:嵌入式Linux廣泛應用的原因當然是免費、開源、支持軟體多、支持者多,成本也低。
(3)、 Windows CE嵌入式操作系統:Windows CE是微軟的操作系統,也有很大的市場份額,特別是在PDA、手機等界面要求較高或者要求快速開發的場合。
3、嵌入式開發的其它相關軟體課程:
(1)、數字圖像壓縮技術:嵌入式最熱門的應用領域之一,要掌握MPEG編解碼演算法和技術,如DVD、MP3、PDA、高清電視、機頂盒等都涉及MPEG高速解碼問題。
(2)、通信協議及編程技術:大多數嵌入式設備都要連入區域網或Internet,所以首先應掌握TCP/IP協議及其編程;另外,掌握無線通信協議及編程也是是很重要的。
(3)、網路與信息安全技術:如加密技術,數字證書CA等。
二、硬體方面的知識:
模擬電路、數字電路、計算機組成原理、微處理器結構、單片機等硬體課程是從事嵌入式開發要掌握的。
嵌入式本身就是從單片機發展過來的,如今很多單片機都已經帶OS,嵌入式開發領域,驅動人才非常缺乏。寫驅動必須掌握操作系統的內部工作原理,包括相關的硬體知識,即所謂的軟硬通吃,所以這方面的人才是一將難求。
㈡ 什麼是嵌入式編程
嵌入式編程用的最多的也是c語言,和普通的windows下的C編程不同的就是,比如應用層開發,嵌入式開發出來的應用程序最終不是要運行在PC上的,而是目標板。所以嵌入式開發就一定會有交叉編譯這個環節(簡單一點理解就是,在PC下編程,然後交叉編譯一下,讓程序能運行在PC外的其他平台上,比如ARM開發板什麼的)
普通編程開發=====CPU(比如奔騰)=====windows操作系統
嵌入式開發=====嵌入式處理器(比如ARM)=====嵌入式操作系統(比如嵌入式linux、wince、vxworks等)
PC上如果沒有windows操作系統,那它就是一個DOS機
嵌入式開發中如果沒有嵌入式操作系統,那它就是通常所說的單片機開發,嵌入式開發最初就是從單片機開發走過來的。
現在所說的嵌入式開發,通常都是指有嵌入式操作系統的那種,產品功能復雜了,單片機開發無法實現,需要用到嵌入式操作系統,也能體現出嵌入式操作系統的優勢。
嵌入式產品在航空、醫療、家電、消費電子、汽車電子、移動等眾多領域都可以看到,應用領域極為廣泛,所以現在嵌入式開發相當熱門,並且具備非常好的發展前景!!
㈢ 什麼是嵌入式操作系統舉例說明~!
嵌入式操作系統我們可以照著電腦上的操作系統老比較學習,比方說,我們平常打字用的鍵盤,我們不需要知道鍵盤與CPU是如何通信的,我們只需應用即可,QQ,MSN等等,滑鼠,列印機,上網,等等,我們只需用滑鼠,鍵盤等簡單的敲敲打打就好了,為什麼這么簡單呢,就是操作系統為我們做了這一切,把底層硬體等的細節都給隱藏起來了,留給我們一些非常友好的操作介面。
嵌入式操作系統原理與這個非常非常的相似,以前我們用8051等單片機進行編程時,因為其ROM RAM小,沒有系統,這樣我們與硬體通信操作時就需要編寫非常底層的程序,挺麻煩的。而且裡面的程序就一條線執行,哪裡有我們所說的進程,並行的概念,這時的程序就是前後台執行方式,前台循環後天中斷。CPU資源浪費啊。後來用了uc/os-II操作系統,但這個確切的說不能叫操作系,只能叫做操作系統內核,因為他實現了任務並行執行即任務調度,但硬體,文件系統,TCP/IP,GUI等的操作還要我們自己實現。不過這樣也有優點,就是小,當然如果你願意還可以剪裁的更小,因為裡面有好多編譯開關,可以把你不要的功能去掉。當然他的實時性也是不錯的。接下來我們說一下嵌入式Linux ,這個操作系統可就全了,你可以根據需要把 文件系統,TCP/IP協議,GUI顯示等等功能都編譯進去,這樣你在系統上開發程序時就可以和上位機一樣簡單了,前提是你要先編好各種硬體的驅動啊,這個也簡單,因為 Linux 為我們提供了驅動程序編寫的介面函數,我們只需要按照格式實現各個函數就好了,然後編譯進去在系統運行時掛載上。
說了這么多,感覺有點亂了,現總結一下:
1、嵌入式操作系統是一種專用系統,根據應用與平台選擇
2、大小可以根據你的需要剪裁
3、實現了多任務運行調度
4、編程簡單了
5、CPU利用率提高了好多好多
6、系統穩定了,因為一個任務崩潰不至於整個系統崩潰
7、體積小,這個好像說過了,
8、就這些吧,想不起來了
以上屬於個人所見,不對之處請高手們指出批評!
㈣ 嵌入式開發要學什麼
目前說嵌入式軟體的就業前景很好,像STM32、飛思卡爾等系列單片機屬於無操作系統的,直接對寄存器或者利用庫函數操作的,這種學習來難度相對小一些,就業前景也不錯。
還有一些像ARM9,或者CortexA8、A9系列的可以運行Linux或者安卓操作系統的嵌入式軟體系統開發,由於需要學習的內容較多,學習時間較長,那麼學習起來就有一定的難度,工資也相對高一些。
課程內容主要包括:
①C,Java核心編程:c語言核心編程,Java核心編程;
②Linux核心操作與演算法:Linux系統使用,Linux-c編程核心技術,精品數據結構,Linux-c編程精髓;
③核心操作與演算法:Linux系統編程,Linux網路編程核心技術,UI編程,Java核心編程,安卓核心技術;
④ARM+Linux底層開發:數字電路,ARM編程核心,Linux系統開發,嵌入式Linux驅動開發;
⑤大型項目實踐:每期安排各類型真實的項目,詳細可以找我要資料。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
㈤ 嵌入式開發要學什麼嵌入式開發要學哪些東西
學習嵌入式開發分兩種,像STM32、飛思卡爾等系列單片機屬於無操作系統的,直接對寄存器或者利用庫函數操作的,這種學習來難度相對小一些,就業前景也不錯。
還有一些像ARM9,或者CortexA8、A9系列的可以運行Linux或者安卓操作系統的嵌入式軟體系統開發,由於需要學習的內容較多,學習時間較長,那麼學習起來就有一定的難度,工資也相對高一些。
課程內容主要包括:
①C,Java核心編程:c語言核心編程,Java核心編程;
②Linux核心操作與演算法:Linux系統使用,Linux-c編程核心技術,精品數據結構,Linux-c編程精髓;
③核心操作與演算法:Linux系統編程,Linux網路編程核心技術,UI編程,Java核心編程,安卓核心技術;
④ARM+Linux底層開發:數字電路,ARM編程核心,Linux系統開發,嵌入式Linux驅動開發;
⑤大型項目實踐:每期安排各類型真實的項目,詳細可以找我要資料。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
㈥ 嵌入式操作系統編程和pc編程的區別
嵌入式的程序有專用性,直接控制硬體的程序,一般用匯編語言和C語言編寫。
PC編程,你的意思是個人電腦上的程序吧,根據需要用C,C++,JAVA,C#,都可以。
C和C++是完全不同的語言,基本思想完全不同。
你先了解一下面向結構編程和面向對象編程的區別吧。
電子詞典添加軟體不現實,你不了解它的硬體結構和系統軟體結構。
㈦ 嵌入式系統需要學什麼語言
嵌入式系統需要學C語言編程。
根據中國物聯網校企聯盟的建議,學習嵌入式系統的必備知識與學習方法如下:
1、C開發經驗
條件:Linux。方法:主要是掌握ANSI C編程(不包括gtk,qt等圖形可視化開發)
2、網路、操作系統、體系結構
條件:Linux,各種書,演算法、常式。方法:通過C編程實現簡單的網路等知識的演算法和過程。
3、嵌入式系統概念
條件:各個嵌入式網站,討論組,書籍。方法:少提問,多留給自己思考的空間。
4、嵌入式開發實踐
條件:各種嵌入式系統開發工具的demo版,包括編譯器,模擬器。
方法:一個是基於MCU/MDSP的嵌入式系統開發,另一個是像Palm OS,WinCE,uC/OS II等RTOS下的應用軟體開發。第一個是針對硬體開發而言的,而第二個則是針對軟體開發而言的。
(7)嵌入式操作系統及編程擴展閱讀
發展趨勢:
1、嵌入式開發是一項系統工程,因此要求嵌入式系統廠商不僅要提供嵌入式軟硬體系統本身,同時還需要提供強大的硬體開發工具和軟體包支持。
目前很多廠商已經充分考慮到這一點,在主推系統的同時,將開發環境也作為重點推廣。比如三星在推廣Arm7,Arm9晶元的同時還提供開發板和板級支持包(BSP)。
而WindowCE在主推系統時也提供Embedded VC++作為開發工具,還有Vxworks的Tonado開發環境,DeltaOS的Limda編譯環境等等都是這一趨勢的典型體現。當然,這也是市場競爭的結果。
2、網路化、信息化的要求隨著網際網路技術的成熟、帶寬的提高日益提高,使得以往單一功能的設備如電話、手機、冰箱、微波爐等功能不再單一,結構更加復雜。
㈧ 什麼是嵌入式操作系統
嵌入式操作系統EOS(Embedded OperatingSystem)是一種用途廣泛的系統軟體,過去它主要應用於工業控制和國防系統領域。EOS負責嵌人系統的全部軟、硬體資源的分配、調度工作,控制協調並發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌人式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件功能等外,還有以下特點:
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。EOS實時性一般較強,可用於各種設備控制當中。
(3)統一的介面。提供各種設備驅動接日.
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用.
(5)提供強大的網路功能,支持TCP門P協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面.
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS臭有較強的穩定性。嵌入式操作系統的用戶接日一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統.
(8)更好的硬體適應性,也就是良好的移植性.
國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括3Corn公司下屬子公司的Palm OS,全球佔有份額達50%,MicroS。fi公司的Wind。ws CE不過29%。在美國市場,Palm OS更以80%的佔有率遠超Windows CE。開放源代碼的Linux很適於做信息家電的開發.
比如:中科紅旗軟體技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux的嵌人式操作系統「誇克」。「誇克」是目前全世界最小的Linux,它有兩個很突出的特點,就是體積小和使用GCS編碼。
常見的嵌入式系統有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive .
嵌入式操作系統的發展
1. 引言
嵌入式操作系統與嵌入式系統密不可分。嵌入式系統主要由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,它是集軟硬體於一體的可獨立工作的「器件」。
嵌入式技術的發展,大致經歷了四個階段[1]。
第一階段是以單晶元為核心的可編程式控制制器形式的系統,同時具有與監測、伺服、指示設備相配合的功能。這種系統大部分應用於一些專業性極強的工業控制系統中,一般沒有操作系統的支持,通過匯編語言編程對系統進行直接控制,運行結束後清除內存。
第二階段是以嵌入式CPU為基礎、以簡單操作系統為核心的嵌入式系統。這一階段的操作系統具有一定的兼容性和擴展性,但用戶界面不夠友好。
第三階段是以嵌入式操作系統為標志的嵌入式系統。這一階段系統的主要特點是:嵌入式操作系統能運行於各種不同類型的微處理器上,兼容性好;操作系統內核精小、效率高,並且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網路支持、圖形窗口以及用戶界面等功能;具有大量的應用程序介面(API),開發應用程序簡單;嵌入式應用軟體豐富。
第四階段是以基於Internet 為標志的嵌入式系統,這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於Internet之外,但隨著Internet的發展以及 Internet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Internet的結合將代表著嵌入式技術的真正未來[2]。
嵌入式系統的發展對嵌入式操作系統提出了更高的要求。因此,對嵌入式操作系統的結構、設計、用戶界面等諸多方面進行深入研究,將有助於嵌入式系統的應用和發展。
2. 嵌入式操作系統的特點
2.1 嵌入式系統的開發人員對操作系統的依賴性
早期的硬體設備很簡單,軟體的編程和調試工具也很原始,與硬體系統配套的軟體都必須從頭編寫。程序大都採用宏匯編語言,調試是一件很麻煩的事。隨著系統越來越復雜,操作系統就顯得很必要。
(1)操作系統能有效管理越來越復雜的系統資源。
(2)操作系統能夠把硬體虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來。
(3)操作系統能夠提供庫函數、驅動程序、工具集以及應用程序。
在70年代的後期,出現了嵌入式系統的操作系統。在80年代末,市場上出現了幾個著名的商業嵌入式操作系統,包括Vxwork、Neculeus、QNX和Windows CE等,這些系統提供性能良好的開發環境,提高了應用系統的開發效率。
2.2 嵌入式操作系統的特點
與其他類型的操作系統相比,嵌入式操作系統具有以下一些特點。
(1)體積小。嵌入式系統有別於一般的計算機處理系統,它不具備像硬碟那樣大容量的存儲介質,而大多使用快閃記憶體(Flash Memory)作為存儲介質。這就要求嵌入式操作系統只能運行在有限的內存中,不能使用虛擬內存,中斷的使用也受到限制。因此,嵌入式操作系統必須結構緊湊,體積微小。
(2)實時性。大多數嵌入式系統都是實時系統,而且多是強實時多任務系統,要求相應的嵌入式操作系統也必須是實時操作系統(RTOS)[8]。實時操作系統作為操作系統的一個重要分支已成為研究的一個熱點,主要探討實時多任務調度演算法和可調度性、死鎖解除等問題。
(3)特殊的開發調試環境。提供完整的集成開發環境是每一個嵌入式系統開發人員所期待的。一個完整的嵌入式系統的集成開發環境一般需要提供的工具是編譯/連接器、內核調試/跟蹤器和集成圖形界面開發平台。其中的集成圖形界面開發平台包括編輯器、調試器、軟體模擬器和監視器等。
3. 嵌入式操作系統的發展狀況
國外嵌入式操作系統已經從簡單走向成熟,主要有Vxwork、 QNX、PalmOS、Windows CE等。國內的嵌入式操作系統研究開發有2種類型,一類是基於國外操作系統二次開發完成的,如海信的基於Windows CE的機頂盒系統;另一類是中國自主開發的嵌入式操作系統,如凱思集團公司自主研製開發的嵌入式操作系統Hopen OS(「女媧計劃」)等。
Windows CE內核較小,能作為一種嵌入式操作系統應用到工業控制等領域。其優點在於便攜性、提供對微處理器的選擇以及非強行的電源管理功能。內置的標准通信能力使 Windows CE能夠訪問Internet並收發E_mail或瀏覽Web。除此之外,Windows CE特有的與Windows類似的用戶界面使最終用戶易於使用。Windows CE的缺點是速度慢、效率低、價格偏高、開發應用程序相對較難。
3Com公司的Palm OS在掌上電腦和PDA市場上獨占其霸主地位,它有開放的操作系統應用程序介面(API),開發商可根據需要自行開發所需的應用程序。
QNX是由加拿大QSSL公司開發的分布式實時操作系統,它由微內核和一組共操作的進程組成,具有高度的伸縮性,可靈活地剪裁,最小配置只佔用幾十KB內存。因此,可以廣泛地嵌入到智能機器、智能儀器儀表、機頂盒、通訊設備、PDA等應用中去[6][7]。
Hopen OS是凱思集團自主研製開發的嵌入式操作系統,由一個體積很小的內核及一些可以根據需要進行定製的系統模塊組成。其核心Hopen Kernel一般為10KB左右大小,佔用空間小,並具有實時、多任務、多線程的系統特徵。
在眾多的實時操作系統和嵌入式操作系統產品中,WindRiver公司的VxWorks是較為有特色的一種實時操作系統[5]。VxWorks 支持各種工業標准,包括POSIX、ANSI C 和TCP/IP網路協議。VxWorks 運行系統的核心是一個高效率的微內核,該微內核支持各種實時功能,包括快速多任務處理、中斷支持、搶占式和輪轉式調度。微內核設計減輕了系統負載並可快速響應外部事件。在美國宇航局的「極地登陸者」號、「深空二號」和火星氣候軌道器等登陸火星探測器上,就採用了VxWorks,負責火星探測器全部飛行控制,包括飛行糾正、載體自旋和降落時的高度控制等,而且還負責數據收集和與地球的通信工作。目前在全世界裝有VxWorks 系統的智能設備數以百萬計,其應用范圍遍及互聯網、電信和數據通信、數字影像、網路、醫學、計算機外設、汽車、火控、導航與制導、航空、指揮、控制、通信和情報、聲納與雷達、空間與導彈系統、模擬和測試等眾多領域。
4. Linux
4.1 嵌入式Linux的應用開發前景
Linux是個與生俱來的網路操作系統,成熟而且穩定。Linux是源代碼開放軟體,不存在黑箱技術,任何人都可以修改它,或者用它開發自己的產品。Linux系統是可以定製的,系統內核目前已經可以做得很小。一個帶有中文系統及圖形化界面的核心程序也可以做到不足1MB,而且同樣穩定。Linux作為一種可裁減的軟體平台系統,是發展未來嵌入設備產品的絕佳資源,遍布全球的眾多Linux愛好者又能給予Linux開發者強大的技術支持。因此,Linux作為嵌入式系統新的選擇,是非常有發展前途的。
(1)與硬體晶元的緊密結合
後PC時代的智能設備已經逐漸地模糊了硬體與軟體的界限,SOC系統(System On Chip)的發展就是這種軟硬體無縫結合趨勢的證明。隨著處理器片內微碼的發展,在將來可能出現在處理器片內嵌進操作系統的代碼模塊。
嵌入式Linux的一大特點是:與硬體晶元(如SOC等)的緊密結合。它不是一個純軟體的Linux系統,而比一般操作系統更加接近於硬體。嵌入式Linux的進一步發展,逐步地具備了嵌入式RTOS的一切特徵:實時性及與嵌入式處理器的緊密結合。
(2)開放的源代碼
嵌入式Linux的另一大特點是:代碼的開放性。代碼的開放性是與後PC時代的智能設備的多樣性相適應的。代碼的開放性主要體現在源代碼可獲得上,Linux代碼開發就像是「集市式」開發,任意選擇並按自己的意願整合出新的產品。
對於嵌入式Linux,事實上是把BIOS層的功能實現在Linux的driver層。目前,在Linux領域,已經出現了專門為Linux操作系統定製的自由軟體的BIOS代碼,並在多款主板上實現此類的BIOS層功能。
(3)嵌入式Linux與硬體晶元的緊密結合
對於許多信息家電的應用來說,嵌入的性能指標是最難滿足的,只有靠提高晶元的集成度與裝配密度來解決。嵌入式Linux與標准Linux的一個重要區別是嵌入式Linux與硬體晶元的緊密結合。這是一個不可逾越的難點,也是嵌入式Linux技術的關鍵之處。嵌入式Linux和商用專用RTOS一樣,需要編寫BSP(Board Support Package),這相當於編寫PC的BIOS。這不僅僅是嵌入式Linux的難點,也是使用商用專用RTOS開發的難點。硬體晶元(SOC晶元或者是嵌入式處理器)的多樣性也決定了代碼開放的嵌入式Linux的成功。嵌入式系統的發展,必然導致軟硬體無縫結合的趨勢,逐漸地模糊了硬體與軟體的界限,在將來可能出現SOC片內的操作系統代碼模塊。
隨著處理器片內微碼的發展,在將來應出現在處理器片內嵌進操作系統的代碼模塊,很顯然模塊將具有安全性好、健壯性強、代碼執行效率高等特點。著眼於未來的嵌入式系統的發展,我們基於對嵌入式Linux技術的深入研究,對嵌入式處理器及SOC系統的深刻理解和研究;對EDA技術的深入研究;對模擬數字混合集成電路晶元的深入研究;對SOC片內進行嵌入式Linux操作系統代碼的植入研究。此類的研究有可能減輕系統開發者對BSP開發的難度要求,並使得嵌入式Linux能夠成為普及的嵌入式操作系統,而大大提高嵌入式Linux的易用性,提高其開發出的高智能設備的安全性、穩定性,同時也大大提高智能設備的計算能力、處理能力。
4.2 部分嵌入式Linux產品[3][4]
嵌入式Linux 一般是按照嵌入式目標系統的要求而設計,由一個體積很小的內核及一些可以根據需要進行隨意裁減的系統模塊組成。一般來說整個系統所佔用的空間不會超過幾M 大小。目前,國外不少大學、研究機構和知名公司都加入了嵌入式Linux的開發工作,較成熟的嵌入式Linux產品不斷涌現。
由美國新墨西哥理工學院開發的基於標准Linux 的嵌入式操作系統RTLinux,已成功地應用於太空梭的空間數據採集、科學儀器測控、電影特技圖像處理等領域。RTLinux開發者並沒有針對實時操作系統的特性重寫Linux的內核,這樣做工作量會非常大,而且要保證兼容性也非常困難。為此,RTLinux提供了一個精巧的實時內核,並把標準的 Linux核心作為實時核心的一個進程同用戶的實時進程一起調度,這樣做的好處是對Linux的改動量最小,充分利用了Linux平台下現有的豐富的軟體資源。
由嵌入式Linux行業主要廠商之一Lineo推出的Embedix,是根據嵌入式應用系統的特點重新設計的Linux發行版本。Embedix提供了超過25種的Linux系統服務,包括Web伺服器等。系統需要最小8M內存,3M只讀內存或快閃記憶體。Embedix基於Linux 2.2核心,並已經成功地移植到了Intel X86和PowerPC處理器系列上。
由美國網虎公司推出的XLinux,號稱是世界上最小的嵌入式Linux系統,核心只有143K位元組,而且還在不斷減小。
致力於國產嵌入式Linux 操作系統和應用軟體開發的廣州博利思軟體公司推出的嵌入式Linux中文操作系統POCKETIX,基於標準的Linux內核,並包括一些可以根據需要進行定製的系統模塊。支持標准乙太網和TCP/IP協議、支持標準的X Window,中文支持採用國際化標准,提供桌面和窗口管理功能、帶WEB瀏覽器和文件管理器,並支持智能拼音和五筆字型輸入。可適應個人PDA、WAP 手機、機頂盒等廣泛的智能信息產品。
4.3 開發嵌入式Linux的幾個問題
(1)Linux的移植。如果Linux不支持選用的平台,就需要把Linux內核中與硬體平台相關的部分改寫,使之支持所選用的平台。
(2)內核的裁剪。嵌入式產品的可用資源比較少,所以它的內核相對嵌入式系統來說就顯得有點大,需要進行剪裁到可利用的大小。
(3)桌面系統。現代的操作系統如果沒有一個友好的界面是沒有說服力的。現在的台式機Linux系統使用了傳統的X Window系統的模式—Client/Server結構。和硬體有關的部分即是Server端,實現一個標準的顯示介面;應用程序通過對Server的服務請求,實現程序的顯示。在此之上,實現窗口的管理功能。但X Window對於嵌入式系統來說顯得很龐大。現在國內有MiniGUI,國外有MicroWindow,都在致力於嵌入式Linux GUI的開發。適用於嵌入式Linux上的X Window的工作也在進行。
(4)驅動程序的開發。Linux內核更新的很快,許多最新的硬體驅動很快就被支持。但嵌入式系統應用領域是多種多樣的,所選用的硬體設備也不同,並且不可能都有Linux的驅動程序,因此,設備驅動程序的開發也是重要的工作。
(5)應用軟體的開發。
(6)中文的支持。
5. 結束語
目前,絕大部分嵌入式系統的硬體平台還掌握在外國公司的手中,國產的嵌入式操作系統在技術含量、兼容性、市場運作模式等方面也還有很多工作要做,我們應該在跟蹤國外嵌入式操作系統的最新技術的同時,堅持自主產權,力爭找到自己的突破點,探索出一條自己的發展道路。