資源描述:
《嵌入式linux系統(tǒng)及其應(yīng)用前景》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、嵌入式Linux系統(tǒng)及其應(yīng)用前景
2、第1關(guān)鍵詞:嵌入式Linux操作系統(tǒng)應(yīng)用前景引言近年來,隨著計算技術(shù)、通信技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普及和3C(計算機、通信、消費電子)合一的加速,微型化和專業(yè)化成為發(fā)展的新趨勢,嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流。Linux從1991年問世到現(xiàn)在,短短的十幾年時間已經(jīng)發(fā)展成為功能強大、設(shè)計完善的操作系統(tǒng)之一;可運行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多種硬件平臺,而且開放源代碼,可以定制;可與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗爭。越來越多的企業(yè)和
3、研發(fā)機構(gòu)都轉(zhuǎn)向嵌入式Linux的開發(fā)和研究上,在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。1嵌入式Linux的特點 嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機為基礎(chǔ),軟硬件可裁剪,適用于系統(tǒng)對功能、可靠性、成本、功耗嚴格要求的專用計算機系統(tǒng),系統(tǒng)結(jié)構(gòu)見圖1。實時性是嵌入式系統(tǒng)的基本要求,其次,還要求代碼小,速度快,可靠性高。嵌入式Linux(EmbeddedLinux)是指對Linux經(jīng)過裁剪小型化后,可固化在存儲器或單片機中,應(yīng)用于特定嵌入式場合的專用Linux操作系統(tǒng)。嵌入式Linux的開發(fā)和研究已經(jīng)成為目前操作系統(tǒng)領(lǐng)域的一個熱點
4、。與其它嵌入式操作系統(tǒng)相比(詳見表1),Linux的特點如下。表1專用嵌入式實時操作系統(tǒng)與嵌入式Linux的比較 專用嵌入式實時操作系統(tǒng)嵌入式Linux操作系統(tǒng)版權(quán)費每生產(chǎn)一件產(chǎn)品需交納一份版權(quán)費購買費用數(shù)十萬元(RMB)技術(shù)支持由開發(fā)商獨家提供有限的技術(shù)支持全世界的自由軟件開發(fā)者提供支持網(wǎng)絡(luò)特性另加數(shù)十萬元(RMB)購買且性能優(yōu)異軟件移值難(因為是封閉系統(tǒng))易,代碼開放(有許多應(yīng)用軟件支持)應(yīng)用產(chǎn)品開發(fā)周期長,因為可參考的代碼有限短,新產(chǎn)品上市迅速,因為有許多公開的代碼可以參考和移植實時性能好須改進,可用PT_Linux等模塊彌
5、補穩(wěn)定性較好較好,但在高性能系統(tǒng)中須改進 第一,Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放。Linux是由很多體積小且性能高的微內(nèi)核系統(tǒng)組成。在內(nèi)核代碼完全開放的前提下,不同領(lǐng)域和不同層次的用戶可以根據(jù)自己的應(yīng)用需要方便地對內(nèi)核進行改造,低成本地設(shè)計和開發(fā)出滿足自己需要的嵌入式系統(tǒng)。 第二,強大的網(wǎng)絡(luò)支持功能。Linux誕生于因特網(wǎng)時代并具有Unix的特性,保證了它支持所有標準因特網(wǎng)協(xié)議,并且可以利用Linux的網(wǎng)絡(luò)協(xié)議棧將其開發(fā)成為嵌入式的TCP/IP網(wǎng)絡(luò)協(xié)議棧。此外,Linux還支持ext2、fat16、fat32、romfs
6、等文件系統(tǒng),為開發(fā)嵌入式系統(tǒng)應(yīng)用打下了很好的基礎(chǔ)。 第三,Linux具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運行環(huán)境,可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙。Linux也符合IEEEPOSIX.1標準,使應(yīng)用程序具有較好的可移植性?! 鹘y(tǒng)的嵌入式開發(fā)的程序調(diào)試和調(diào)試工具是用在線仿真器(ICE)實現(xiàn)的。它通過取代目標板的微處理器,給目標程序提供一個完整的仿真環(huán)境,完成監(jiān)視和調(diào)試程序;但一般價格比較昂貴,只適合做非常底層的調(diào)試。使用嵌入式Linux,一旦軟硬件能夠支持正常的串口功能,即使不用仿真器,也可以很好地進行
7、開發(fā)和調(diào)試工作,從而節(jié)省一筆不小的開發(fā)費用。嵌入式Linux為開發(fā)者提供了一套完整的工具鏈(toolchain)。它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調(diào)試工具,能夠很方便地實現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個級別的調(diào)試。 第四,Linux具有廣泛的硬件支持特性。無論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運行。Linux通常使用的微處理器是IntelX86芯片家族,但它同樣能運行于Motorola公司的68K系列CPU和IBM、Apple、Motorola公司的PoentToolkit
8、、SDSCrosspiler、icrosoftEmbeddedVisualC++等。交叉開發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境。它與運行嵌入式應(yīng)用軟件的環(huán)境有所不同,通常采用宿主機/目標機模式,見圖3?! 〉诙?,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執(zhí)行代碼。由于開發(fā)過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環(huán)境的處理器芯片卻大多為ARM、MIPS、Po-linux-gcc是交叉編譯器,arm-linux-ld是交叉鏈接器。通常情況下,并不是每一種體系結(jié)構(gòu)的
9、嵌入式微處理器都只對應(yīng)于一種交叉編譯器和交叉鏈接器。如對于M68K體系結(jié)構(gòu)的gcc交叉開發(fā)環(huán)境而言,就對應(yīng)于多種不同的編譯器和鏈接器。如果使用的是COFF格式的可執(zhí)行文件,那么在編譯Linux內(nèi)核時,需要使用m68k-coff-gcc和m68k-c