杭州IT培訓
美國上市IT培訓機構

0571-56026878

熱門課程

嵌入式開發為什么一定要學嵌入式Linux

  • 時間:2019-09-04 11:30
  • 發布:轉載
  • 來源:網絡

嵌入式開發為什么一定要學嵌入式Linux?本文小編帶大家一起來了解一下。

一、什么是嵌入式linux?

Linux從1991年問世到現在,短短的十幾年時間已經發展成為功能強大、設計完善的操作系統之一,不僅可以與各種傳統的商業操作系統分庭抗爭,在新興的嵌入式操作系統領域內也獲得了飛速發展。嵌入式Linux(Embedded Linux)是指對標準Linux經過小型化裁剪處理之后,能夠固化在容量只有幾K或者幾M字節的存儲器芯片或者單片機中,適合于特定嵌入式應用場合的專用Linux操作系統。嵌入式Linux既繼承了intelnet上無限的開放原代碼資源,又具有嵌入式操作系統的特性。


二、嵌入式Linux的特點

版權費:免費;

購買費用:媒介成本;

技術支持:全世界的自由軟件開發者提供支持;

網絡特性:免費而且性能優異;

軟件移植:容易,代碼開放,有許多應用軟件支持;

應用產品開發周期:短,新產品上市迅速,因為有許多公開的代碼可以參考和移植;

實時性能:RT_Linux,hardhat Linux 等嵌入式Linux支持實時性能;

穩定性:好;

安全性:好。


三、嵌入式Linux的市場前景和商業機會

嵌入式Linux有巨大的市場前景和商業機會,出現了大量的專業公司和產品,如Montavista、Lineo、Emi等。有行業協會,如Embedded Linux Consortum等。得到世界著名計算機公司和oem板級廠商的支持,例如IBM、Motorola、Intel等 。傳統的嵌入式系統廠商也采用了Linux策略 如Lynxworks 、Windriver、QNX等。還有intelnet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式cpu和被移植到幾乎所有的嵌入式oem板。


四、嵌入式Linux的應用領域

嵌入式Linux的應用領域非常廣泛,主要的應用領域有,信息家電:PDA,STB-Set-stopbox,Digital Telephone,Answering Machine,Screen Phone、數據網絡:Ethernet switches,Router,Bridge,Hub,Remote access servers,ATM,Frame relay、遠程通信、醫療電子、交通運輸、計算機外設、工業控制、航空領域等。


五、嵌入式linux的優勢

嵌入式Linux的開發和研究是操作系統領域中的一個熱點,目前已經開發成功的嵌入式系統中,大約有一半使用的是Linux。Linux之所以能在嵌入式系統市場上取得如此輝煌的成果,與其自身的優良特性是分不開的。


1、廣泛的硬件支持

Linux能夠支持x86、ARM、MIPS、ALPHA、PowerPC等多種體系結構,目前已經成功移植到數十種硬件平臺,幾乎能夠運行在所有流行的CPU上。Linux有著異常豐富的驅動程序資源,支持各種主流硬件設備和新硬件技術,甚至可以在沒有存儲管理單元(MMU)的處理器上運行,這些都進一步促進了Linux在嵌入式系統中的應用。


2、內核高效穩定

Linux內核的高效和穩定已經在各個領域內得到了大量事實的驗證,Linux的內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網絡接口五大部分,其獨特的模塊機制可以根據用戶的需要,實時地將某些模塊插入到內核或從內核中移走。這些特性使得Linux系統內核可以裁剪得非常小巧,很適合于嵌入式系統的需要。


3、開放源碼,軟件豐富

Linux是開放源代碼的自由操作系統,它為用戶提供了大限度的自由度,由于嵌入式系統千差萬別,往往需要針對具體的應用進行修改和優化,因而獲得源代碼就變得至關重要了。Linux的軟件資源十分豐富,每一種通用程序在Linux上幾乎都可以找到,并且數量還在不斷增加。在Linux上開發嵌入式應用軟件一般不用從頭做起,而是可以選擇一個類似的自由軟件做為原型,在其上進行二次開發。


4、優秀的開發工具

開發嵌入式系統的關鍵是需要有一套完善的開發和調試工具。傳統的嵌入式開發調試工具是在線仿真器(In-Circuit Emulator,ICE),它通過取代目標板的微處理器,給目標程序提供一個完整的仿真環境,從而使開發者能夠非常清楚地了解到程序在目標板上的工作狀態,便于監視和調試程序。在線仿真器的價格非常昂貴,而且只適合做非常底層的調試,如果使用的是嵌入式Linux,一旦軟硬件能夠支持正常的串口功能時,即使不用在線仿真器也可以很好地進行開發和調試工作,從而節省了一筆不小的開發費用。嵌入式Linux為開發者提供了一套完整的工具鏈(Tool Chain),它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調試工具,能夠很方便地實現從操作系統到應用軟件各個級別的調試。


5、完善的網絡通信和文件管理機制

Linux至誕生之日起就與Internet密不可分,支持所有標準的Internet網絡協議,并且很容易移植到嵌入式系統當中。此外,Linux還支持ext2、fat16、fat32、romfs等文件系統,這些都為開發嵌入式系統應用打下了很好的基礎。


六、嵌入式Linux的挑戰

目前,嵌入式Linux系統的研發熱潮正在蓬勃興起,并且占據了很大的市場份額,除了一些傳統的Linux公司(如RedHat、MontaVista等)正在從事嵌入式Linux的開發和應用之外,IBM、Intel、Motorola等著名企業也開始進行嵌入式Linux的研究。雖然前景一片燦爛,但就目前而言,嵌入式Linux的研究成果與市場的真正要求仍有一段差距,要開發出真正成熟的嵌入式Linux系統,還需要從以下幾個方面做出努力。


1、提高系統實時性

Linux雖然已經被成功地應用到了PDA、移動電話、車載電視、機頂盒、網絡微波爐等各種嵌入式設備上,但在醫療、航空、交通、工業控制等對實時性要求非常嚴格的場合中還無法直接應用,原因在于現有的Linux是一個通用的操作系統,雖然它也采用了許多技術來加快系統的運行和響應速度,并且符合POSIX 1003.1b標準,但從本質上來說并不是一個嵌入式實時操作系統。Linux的內核調度策略基本上是沿用UNIX系統的,將它直接應用于嵌入式實時環境會有許多缺陷,如在運行內核線程時中斷被關閉,分時調度策略存在時間上的不確定性,以及缺乏高精度的計時器等等。正因如此,利用Linux作為底層操作系統,在其上進行實時化改造,從而構建出一個具有實時處理能力的嵌入式系統,是現在日益流行的解決方案。


2、改善內核結構

Linux內核采用的是整體式結構(Monolithic),整個內核是一個單獨的、非常大的程序,這樣雖然能夠使系統的各個部分直接溝通,有效地縮短任務之間的切換時間,提高系統響應速度,但與嵌入式系統存儲容量小、資源有限的特點不相符合。嵌入式系統經常采用的是另一種稱為微內核(Microkernel)的體系結構,即內核本身只提供一些基本的操作系統功能,如任務調度、內存管理、中斷處理等,而類似于文件系統和網絡協議等附加功能則運行在用戶空間中,并且可以根據實際需要進行取舍。Microkernel的執行效率雖然比不上Monolithic,但卻大大減小了內核的體積,便于維護和移植,更能滿足嵌入式系統的要求。可以考慮將Linux內核部分改造成Microkernel,使Linux在具有很高性能的同時,又能滿足嵌入式系統體積小的要求。


3、完善集成開發平臺

引入嵌入式Linux系統集成開發平臺,是嵌入式Linux進一步發展和應用的內在要求。傳統上的嵌入式系統都是面向具體應用場合的,軟件和硬件之間必須緊密配合,但隨著嵌入式系統規模的不斷擴大和應用領域的不斷擴展,嵌入式操作系統的出現就成了一種必然,因為只有這樣才能促成嵌入式系統朝層次化和模塊化的方向發展。


很顯然,嵌入式集成開發平臺也是符合上述發展趨勢的,一個優秀的嵌入式集成開發環境能夠提供比較完備的仿真功能,可以實現嵌入式應用軟件和嵌入式硬件的同步開發,從而擺脫了"嵌入式應用軟件的開發依賴于嵌入式硬件的開發,并且以嵌入式硬件的開發為前提"的不利局面。一個完整的嵌入式集成開發平臺通常包括編譯器、連接器、調試器、跟蹤器、優化器和集成用戶界面,目前Linux在基于圖形界面的特定系統定制平臺的研究上,與Windows CE等商業嵌入式操作系統相比還有很大差距,整體集成開發環境有待提高和完善。

以上就是本文為大家分享的關于嵌入式開發為什么一定要學嵌入式Linux的文章,希望對大家有所幫助。

預約申請免費試聽課

怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選 !

上一篇:C++開發常用工具有哪些
下一篇:沒有下一篇了

這5個常見的編程語言到底用來做什么的?

java開發中的StringBuilder區別是什么?

入門必知:Java有什么特點和特質

大數據開發與一般Java開發有什么區別

選擇城市和中心
江西省

貴州省

廣西省

海南省

色老拉视频天天看