當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式Linux系統(tǒng)及其應(yīng)用前景

摘要:主要分析嵌入式Linux系統(tǒng)應(yīng)用開(kāi)發(fā)的特點(diǎn);概述其開(kāi)發(fā)過(guò)程和所面臨的挑戰(zhàn);闡述嵌入式Linux的發(fā)展和應(yīng)用前景。

    關(guān)鍵詞:嵌入式Linux 操作系統(tǒng) 應(yīng)用前景

引 言

??近年來(lái),隨著計(jì)算技術(shù)、通信技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普及和3C(計(jì)算機(jī)、通信、消費(fèi)電子)合一的加速,微型化和專業(yè)化成為發(fā)展的新趨勢(shì),嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流。Linux從1991年問(wèn)世到現(xiàn)在,短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng)之一;可運(yùn)行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多種硬件平臺(tái),而且開(kāi)放源代碼,可以定制;可與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)?。越?lái)越多的企業(yè)和研發(fā)機(jī)構(gòu)都轉(zhuǎn)向嵌入式Linux的開(kāi)發(fā)和研究上,在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。

1 嵌入式Linux的特點(diǎn)

  嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)為基礎(chǔ),軟硬件可裁剪,適用于系統(tǒng)對(duì)功能、可靠性、成本、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),系統(tǒng)結(jié)構(gòu)見(jiàn)圖1。實(shí)時(shí)性是嵌入式系統(tǒng)的基本要求,其次,還要求代碼小,速度快,可靠性高。嵌入式Linux(Embedded Linux)是指對(duì)Linux經(jīng)過(guò)裁剪小型化后,可固化在存儲(chǔ)器或單片機(jī)中,應(yīng)用于特定嵌入式場(chǎng)合的專用Linux操作系統(tǒng)。嵌入式Linux的開(kāi)發(fā)和研究已經(jīng)成為目前操作系統(tǒng)領(lǐng)域的一個(gè)熱點(diǎn)。與其它嵌入式操作系統(tǒng)相比(詳見(jiàn)表1),Linux的特點(diǎn)如下。

表1 專用嵌入式實(shí)時(shí)操作系統(tǒng)與嵌入式Linux的比較

  專用嵌入式實(shí)時(shí)操作系統(tǒng) 嵌入式Linux操作系統(tǒng)
版權(quán)費(fèi) 每生產(chǎn)一件產(chǎn)品需交納一份版權(quán)費(fèi) 免費(fèi)
購(gòu)買(mǎi)費(fèi)用 數(shù)十萬(wàn)元(RMB) 免費(fèi)
技術(shù)支持 由開(kāi)發(fā)商獨(dú)家提供有限的技術(shù)支持 全世界的自由軟件開(kāi)發(fā)者提供支持
網(wǎng)絡(luò)特性 另加數(shù)十萬(wàn)元(RMB)購(gòu)買(mǎi) 免費(fèi)且性能優(yōu)異
軟件移值 難(因?yàn)槭欠忾]系統(tǒng)) 易,代碼開(kāi)放(有許多應(yīng)用軟件支持)
應(yīng)用產(chǎn)品開(kāi)發(fā)周期 長(zhǎng),因?yàn)榭蓞⒖嫉拇a有限 短,新產(chǎn)品上市迅速,因?yàn)橛性S多公開(kāi)的代碼可以參考和移植
實(shí)時(shí)性能 須改進(jìn),可用PT_Linux等模塊彌補(bǔ)
穩(wěn)定性 較好 較好,但在高性能系統(tǒng)中須改進(jìn)

  第一,Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開(kāi)放。Linux是由很多體積小且性能高的微內(nèi)核系統(tǒng)組成。在內(nèi)核代碼完全開(kāi)放的前提下,不同領(lǐng)域和不同層次的用戶可以根據(jù)自己的應(yīng)用需要方便地對(duì)內(nèi)核進(jìn)行改造,低成本地設(shè)計(jì)和開(kāi)發(fā)出滿足自己需要的嵌入式系統(tǒng)。

  第二,強(qiáng)大的網(wǎng)絡(luò)支持功能。Linux誕生于因特網(wǎng)時(shí)代并具有Unix的特性,保證了它支持所有標(biāo)準(zhǔn)因特網(wǎng)協(xié)議,并且可以利用Linux的網(wǎng)絡(luò)協(xié)議棧將其開(kāi)發(fā)成為嵌入式的TCP/IP網(wǎng)絡(luò)協(xié)議棧。 此外,Linux還支持ext2、fat16、fat32、romfs等文件系統(tǒng),為開(kāi)發(fā)嵌入式系統(tǒng)應(yīng)用打下了很好的基礎(chǔ)。

  第三,Linux具備一整套工具鏈,容易自行建立嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境和交叉運(yùn)行環(huán)境,可以跨越嵌入式系統(tǒng)開(kāi)發(fā)中仿真工具的障礙。Linux也符合IEEE POSIX.1標(biāo)準(zhǔn),使應(yīng)用程序具有較好的可移植性。

  傳統(tǒng)的嵌入式開(kāi)發(fā)的程序調(diào)試和調(diào)試工具是用在線仿真器(ICE)實(shí)現(xiàn)的。它通過(guò)取代目標(biāo)板的微處理器,給目標(biāo)程序提供一個(gè)完整的仿真環(huán)境,完成監(jiān)視和調(diào)試程序;但一般價(jià)格比較昂貴,只適合做非常底層的調(diào)試。使用嵌入式Linux,一旦軟硬件能夠支持正常的串口功能,即使不用仿真器,也可以很好地進(jìn)行開(kāi)發(fā)和調(diào)試工作,從而節(jié)省一筆不小的開(kāi)發(fā)費(fèi)用。嵌入式Linux為開(kāi)發(fā)者提供了一套完整的工具鏈(tool chain)。它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調(diào)試工具,能夠很方便地實(shí)現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個(gè)級(jí)別的調(diào)試。

  第四,Linux具有廣泛的硬件支持特性。無(wú)論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運(yùn)行。Linux通常使用的微處理器是Intel X86芯片家族,但它同樣能運(yùn)行于Motorola公司的68K系列CPU和IBM、Apple、Motorola公司的PowerPC CPU以及Intel公司的StrongARM CPU等處理器。Linux支持各種主流硬件設(shè)備和最新硬件技術(shù),甚至可以在沒(méi)有存儲(chǔ)管理單元(MMU)的處理器上運(yùn)行。這意味著嵌入式Linux將具有更廣泛的應(yīng)用前景。

2 Linux嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)

    2.1 系統(tǒng)軟件操作平臺(tái)

  操作系統(tǒng)是一種在計(jì)算機(jī)上運(yùn)行的軟件。它的主要任務(wù)是管理計(jì)算機(jī)上的系統(tǒng)資源,為用戶提供使用計(jì)算機(jī)及其外部設(shè)備的接口。它存在的目的是為了管理所有硬件資源,并且提供應(yīng)用軟件一個(gè)合適的操作環(huán)境。嵌入式系統(tǒng)由于硬件的限制,通常只具有極稀少的硬件資源,如主頻較低的CPU、較小的內(nèi)存、小容量的固態(tài)電子盤(pán)芯片DoC(Disk on Chip)或DoM(Disk on Module)替代磁盤(pán)等。在使用電池的系統(tǒng)中,它還要實(shí)現(xiàn)低功耗,延長(zhǎng)電池使用時(shí)間的功能。

  Linux作為嵌入式操作系統(tǒng)是完全可行的。因?yàn)長(zhǎng)inux提供了完成嵌入功能的基本內(nèi)核和所需要的所有用戶界面,能處理嵌入式任務(wù)和用戶界面。將Linux看作是連續(xù)的統(tǒng)一體,從一個(gè)具有內(nèi)存管理、任務(wù)切換和時(shí)間服務(wù)及其它分拆的微內(nèi)核到完整的服務(wù)器,支持所有的文件系統(tǒng)和網(wǎng)絡(luò)服務(wù)。Linux作為嵌入式系統(tǒng),是一個(gè)帶有很多優(yōu)勢(shì)的新成員。它對(duì)許多CPU和硬件平臺(tái)都是易移植、穩(wěn)定、功能強(qiáng)大、易于開(kāi)發(fā)的。

  嵌入式Linux系統(tǒng)需要下面三個(gè)基本元素:系統(tǒng)引導(dǎo)工具(用于機(jī)器加電后的系統(tǒng)定位引導(dǎo))、Linux微內(nèi)核(內(nèi)存管理、 程序管理)、初始化進(jìn)程。但如果要它成為完整的操作系統(tǒng)并且繼續(xù)保持小型化,還必須加上硬件驅(qū)動(dòng)程序、硬件接口程序和應(yīng)用程序組。

  Linux是基于GNU的C編譯器,作為GNU工具鏈的一部分,與gdb源調(diào)試器一起工作的。它提供了開(kāi)發(fā)嵌入式Linux系統(tǒng)的所有軟件工具。

    2.2 系統(tǒng)硬件平臺(tái)

  在選擇硬件時(shí),常由于缺乏完整或精確的信息而使硬件選擇成為復(fù)雜且困難的工作。硬件開(kāi)發(fā)成本常是我們很關(guān)心的。當(dāng)考慮硬件成本時(shí),須要考慮產(chǎn)品的整個(gè)成本而不僅是CPU的成本。因?yàn)楹线m的CPU,一旦加上總線邏輯和延時(shí)電路使之與外設(shè)一起工作,硬件系統(tǒng)就可能變得非常昂貴。如果要尋找嵌入式軟件系統(tǒng),那么,應(yīng)首先確定硬件平臺(tái),即確定微處理器CPU的型號(hào)。

  現(xiàn)在比較流行的硬件平臺(tái)有Intel公司的StrongARM 系列,Motorola公司的DragonBall系列,NEC公司的VR系列,Hitachi公司的SH3、SH4系列等等。選定硬件平臺(tái)前,首先要確定系統(tǒng)的應(yīng)用功能和所需要的速度,并制定好外接設(shè)備和接口標(biāo)準(zhǔn)。這樣才能準(zhǔn)確地定位所需要的硬件方案,得到性價(jià)比最高的系統(tǒng)。

3 嵌入式Linux系統(tǒng)開(kāi)發(fā)模式

  嵌入式系統(tǒng)通常為一個(gè)資源受限的系統(tǒng)。直接在嵌入式系統(tǒng)的硬件平臺(tái)上編寫(xiě)軟件比較困難,有時(shí)甚至是不可能的。一般流程見(jiàn)圖2。目前,一般采用的辦法是,先在通用計(jì)算機(jī)上編寫(xiě)程序,然后,通過(guò)交叉編譯,生成目標(biāo)平臺(tái)上可運(yùn)行的二進(jìn)制代碼格式,最后下載到目標(biāo)平臺(tái)上的特定位置上運(yùn)行,具體步驟如下?!          ?/P>

  第一步,建立嵌入式Linux交叉開(kāi)發(fā)環(huán)境。目前,常用的交叉開(kāi)發(fā)環(huán)境主要有開(kāi)放和商業(yè)兩種類型。開(kāi)放的交叉開(kāi)發(fā)環(huán)境的典型代表是GNU工具鏈,目前已經(jīng)能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業(yè)的交叉開(kāi)發(fā)環(huán)境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開(kāi)發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境。它與運(yùn)行嵌入式應(yīng)用軟件的環(huán)境有所不同,通常采用宿主機(jī)/目標(biāo)機(jī)模式,見(jiàn)圖3。

  第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進(jìn)行編譯和鏈接,以生成可執(zhí)行代碼。由于開(kāi)發(fā)過(guò)程大多是在Intel公司x86系列CPU的通用計(jì)算機(jī)上進(jìn)行的,而目標(biāo)環(huán)境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開(kāi)發(fā)環(huán)境中進(jìn)行交叉編譯和鏈接。

  例如,在基于ARM體系結(jié)構(gòu)的gcc交叉開(kāi)發(fā)環(huán)境中,arm-linux-gcc是交叉編譯器,arm-linux-ld是交叉鏈接器。通常情況下,并不是每一種體系結(jié)構(gòu)的嵌入式微處理器都只對(duì)應(yīng)于一種交叉編譯器和交叉鏈接器。如對(duì)于M68K體系結(jié)構(gòu)的gcc交叉開(kāi)發(fā)環(huán)境而言,就對(duì)應(yīng)于多種不同的編譯器和鏈接器。如果使用的是COFF格式的可執(zhí)行文件,那么在編譯Linux內(nèi)核時(shí),需要使用m68k-coff-gcc和m68k-coff-ld,而在編譯應(yīng)用程序時(shí)則需要使用m68k-coff-pic-gcc和m68k-coff-pic-ld。編寫(xiě)好的嵌入式軟件經(jīng)過(guò)交叉編譯和交叉鏈接后,通常會(huì)生成兩種類型的可執(zhí)行文件:用于調(diào)試的可執(zhí)行文件和用于固化的可執(zhí)行文件。

  第三步,交叉調(diào)試。

  ① 硬件調(diào)試。如果不采用在線仿真器,可以讓CPU直接在其內(nèi)部實(shí)現(xiàn)調(diào)試功能,并通過(guò)在開(kāi)發(fā)板上引出的調(diào)試端口,發(fā)送調(diào)試命令和接收調(diào)試信息,完成調(diào)試過(guò)程。目前,Motorola公司提供的開(kāi)發(fā)板上使用的是DBM調(diào)試端口,而ARM公司提供的開(kāi)發(fā)板上使用的則是JTAG調(diào)試端口。使用合適的軟件工具與這些調(diào)試端口進(jìn)行連接,可以獲得與ICE類似的調(diào)試效果。

 ?、?軟件調(diào)試。在嵌入式Linux系統(tǒng)中,Linux系統(tǒng)內(nèi)核調(diào)試,可以先在Linux內(nèi)核中設(shè)置一個(gè)調(diào)試樁(debug stub),用作調(diào)試過(guò)程中和宿主機(jī)之間的通信服務(wù)器。然后,可以在宿主機(jī)中通過(guò)調(diào)試器的串口與調(diào)試樁進(jìn)行通信,并通過(guò)調(diào)試器控制目標(biāo)機(jī)上Linux內(nèi)核的運(yùn)行。

  嵌入式上層應(yīng)用軟件的調(diào)試可以使用本地調(diào)試和遠(yuǎn)程調(diào)試兩種方法。如果采用的是本地調(diào)試,首先要將所需的調(diào)試器移植到目標(biāo)系統(tǒng)中,然后就可以直接在目標(biāo)機(jī)上運(yùn)行調(diào)試器來(lái)調(diào)試應(yīng)用程序了;如果采用的是遠(yuǎn)程調(diào)試,則需要移植一個(gè)調(diào)試服務(wù)器到目標(biāo)系統(tǒng)中,并通過(guò)它與宿主機(jī)上的調(diào)試器共同完成應(yīng)用程序的調(diào)試。在嵌入式Linux系統(tǒng)的開(kāi)發(fā)中,遠(yuǎn)程調(diào)試時(shí)目標(biāo)機(jī)上使用的調(diào)試服務(wù)器通常是gdbserver,而宿主機(jī)上使用的調(diào)試器則是gdb。兩者相互配合共同完成調(diào)試過(guò)程。

  第四步,系統(tǒng)測(cè)試。整個(gè)軟件系統(tǒng)編譯過(guò)程,嵌入式系統(tǒng)的硬件一般采用專門(mén)的測(cè)試儀器進(jìn)行測(cè)試,而軟件則需要有相關(guān)的測(cè)試技術(shù)和測(cè)試工具的支持,并要采用特定的測(cè)試策略。測(cè)試技術(shù)指的是軟件測(cè)試的專門(mén)途徑,以及能夠更加有效地運(yùn)用這些途徑的特定方法。在嵌入式軟件測(cè)試中,常常要在基于目標(biāo)機(jī)的測(cè)試和基于宿主機(jī)的測(cè)試之間做出折衷。基于目標(biāo)機(jī)的測(cè)試需要消耗較多的時(shí)間和經(jīng)費(fèi),而基于宿主機(jī)的測(cè)試雖然代價(jià)較小,但畢竟是在仿真環(huán)境中進(jìn)行的,因此難以完全反映軟件運(yùn)行時(shí)的實(shí)際情況。這兩種環(huán)境下的測(cè)試可以發(fā)現(xiàn)不同的軟件缺陷,關(guān)鍵是要對(duì)目標(biāo)機(jī)環(huán)境和宿主機(jī)環(huán)境下的測(cè)試內(nèi)容進(jìn)行合理取舍。嵌入式軟件測(cè)試中經(jīng)常用到的測(cè)試工具主要有:內(nèi)存分析工具、性能分析工具、覆蓋分析工具、缺陷跟蹤工具等,在這里不加詳述。嵌入式Linux系統(tǒng)的典型構(gòu)成見(jiàn)圖4。

以下即為一個(gè)典型開(kāi)發(fā)工具的使用流程:

① 寫(xiě)入或植入引導(dǎo)碼;

② 向串口打印字符串的編碼;

③ 將gdb目標(biāo)碼移植工作串口,可與另一臺(tái)運(yùn)行g(shù)db程序的Linux主機(jī)系統(tǒng)對(duì)話;

④ 利用gdb讓硬件和軟件初始化碼在Linux內(nèi)核啟動(dòng)時(shí)工作;

⑤ Linux內(nèi)核啟動(dòng),串口成為L(zhǎng)inux控制口并可用于后續(xù)開(kāi)發(fā);

⑥ 如果在目標(biāo)硬件上已運(yùn)行了完整的Linux內(nèi)核,即可調(diào)試用戶的應(yīng)用進(jìn)程。

4 嵌入式Linux面臨的挑戰(zhàn)

  目前,對(duì)嵌入式Linux系統(tǒng)的開(kāi)發(fā)正在蓬勃興起,并已形成了很大的市場(chǎng)。除了一些傳統(tǒng)的Linux公司,像RedHat、VA Linux等,正在從事嵌入式Linux的研究之外,一批新公司(如Lineo、TimeSys等)和一些傳統(tǒng)的大公司(如IBM、SGI、Motorola、Intel等)以及一些開(kāi)發(fā)專用嵌入式操作系統(tǒng)的公司(如Lynx)也都在進(jìn)行嵌入式Linux的研究和開(kāi)發(fā)。但就目前的技術(shù)而言,嵌入式Linux的研究成果與市場(chǎng)的真正需求還有一些距離,因此,嵌入式Linux走向成熟還需要在以下幾個(gè)方面有所發(fā)展。

    (1)Linux的實(shí)時(shí)性擴(kuò)充

  實(shí)時(shí)性是嵌入式操作系統(tǒng)的基本要求。由于Linux還不是一個(gè)真正的實(shí)時(shí)操作系統(tǒng),內(nèi)核不支持事件優(yōu)先級(jí)和搶占實(shí)時(shí)特性,所以在開(kāi)發(fā)嵌入式Linux的過(guò)程中,首要問(wèn)題是擴(kuò)展Linux的實(shí)時(shí)性能。對(duì)Linux實(shí)時(shí)性的擴(kuò)展可以從兩方面進(jìn)行:向外擴(kuò)展和向上擴(kuò)展。向外擴(kuò)展即從范圍上擴(kuò)展,讓實(shí)時(shí)系統(tǒng)支持的范圍更廣,支持的設(shè)備更多。目前的開(kāi)發(fā)所面向的設(shè)備僅限于較簡(jiǎn)單的有實(shí)時(shí)要求的串/并口數(shù)據(jù)采集、浮點(diǎn)數(shù)據(jù)計(jì)算等,而像實(shí)時(shí)網(wǎng)絡(luò)這樣實(shí)時(shí)系統(tǒng)的高級(jí)應(yīng)用還需進(jìn)一步發(fā)展。向上擴(kuò)展是擴(kuò)充Linux內(nèi)核,從功能上擴(kuò)充Linux的實(shí)時(shí)處理和控制系統(tǒng)。如嵌入式系統(tǒng)RT-Linux,它的基本原理是將Linux本身的任務(wù)以及Linux內(nèi)核本身作為一個(gè)優(yōu)先級(jí)最低的任務(wù),而實(shí)時(shí)任務(wù)作為優(yōu)先級(jí)最高的任務(wù),即在實(shí)時(shí)任務(wù)存在的情況下運(yùn)行實(shí)時(shí)任務(wù),否則就運(yùn)行Linux本身的任務(wù)。實(shí)時(shí)任務(wù)不同于Linux普通進(jìn)程。它是以Linux的可裝載的內(nèi)核模塊(Loadable Kernel Module,LKM)的形式存在的,需要運(yùn)行實(shí)時(shí)任務(wù)的時(shí)候,將這個(gè)實(shí)時(shí)任務(wù)的內(nèi)核模塊插入到內(nèi)核中去,實(shí)時(shí)任務(wù)和Linux一般進(jìn)程之間的通信通過(guò)共享內(nèi)存或者FIFO通道來(lái)實(shí)現(xiàn)。

    (2)改變Linux內(nèi)核的體系結(jié)構(gòu)

  Linux的內(nèi)核體系采用的是Monolithic。在這種體系結(jié)構(gòu)中,內(nèi)核的所有部分都集中在一起,而且所有的部件在一起編譯連接。這樣雖然能使系統(tǒng)的各部分直接溝通,有效地縮短任務(wù)之間的切換時(shí)間,提高系統(tǒng)的響應(yīng)速度和CPU的利用率,且實(shí)時(shí)性好;但在系統(tǒng)比較大時(shí)體積也比較大,與嵌入式系統(tǒng)容量小、資源有限的特點(diǎn)不符。而另外一種內(nèi)核體系結(jié)構(gòu)MicroKernel, 在內(nèi)核中只包括了一些基本的內(nèi)核功能,如創(chuàng)建和刪除任務(wù)、任務(wù)調(diào)度、內(nèi)存管理和中斷處理等部分,而文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等部分都是在用戶內(nèi)存空間運(yùn)行。這種結(jié)構(gòu)雖然執(zhí)行效率不如Monolithic內(nèi)核,但大大減小了內(nèi)核的體積,同時(shí)也方便了整個(gè)系統(tǒng)的升級(jí)、維護(hù)和移植,更能滿足嵌入式系統(tǒng)的特點(diǎn)需要。為此,要使嵌入式Linux的應(yīng)用更加廣泛,若將Linux目前的Monolithic內(nèi)核結(jié)構(gòu)中的部分結(jié)構(gòu)改造成MicroKernel體系結(jié)構(gòu),可使得到的Linux既具有很好的實(shí)時(shí)性,又能滿足嵌入式系統(tǒng)體積小的要求。

  另外,Linux是一個(gè)需要占用存儲(chǔ)器的操作系統(tǒng)。雖然這可以通過(guò)減少一些不必要的功能來(lái)彌補(bǔ),但可能會(huì)浪費(fèi)很多時(shí)間,而且容易帶來(lái)很大的麻煩。許多Linux的應(yīng)用程序都要用到虛擬內(nèi)存,這在許多嵌入式系統(tǒng)中是沒(méi)有價(jià)值的。所以,并不是一個(gè)沒(méi)有磁盤(pán)的Linux嵌入式系統(tǒng)就可以運(yùn)行任何Linux應(yīng)用程序。

    (3)完善Linux的集成開(kāi)發(fā)環(huán)境

  提供完整的集成開(kāi)發(fā)環(huán)境是每一個(gè)嵌入式系統(tǒng)開(kāi)發(fā)人員所期待的。一個(gè)完整的嵌入式系統(tǒng)的集成開(kāi)發(fā)環(huán)境一般需要提供的工具是:編譯/連接器、內(nèi)核調(diào)試/跟蹤器和集成圖形界面開(kāi)發(fā)平臺(tái)。其中的集成圖形界面開(kāi)發(fā)平臺(tái)包括編輯器、調(diào)試器、軟件仿真器和監(jiān)視器等。在Linux系統(tǒng)中,具有功能強(qiáng)大的gcc編譯器工具鏈,使用了基于GNU的調(diào)試器gdb的遠(yuǎn)程調(diào)試功能,一般由一臺(tái)客戶機(jī)運(yùn)行調(diào)試程序調(diào)試宿主機(jī)運(yùn)行的操作系統(tǒng)內(nèi)核; 在使用遠(yuǎn)程開(kāi)發(fā)時(shí)還可以使用交叉平臺(tái)的方式,如在Windows平臺(tái)下的調(diào)試跟蹤器對(duì)Linux的宿主系統(tǒng)做調(diào)試。但是,Linux在基于圖形界面的特定系統(tǒng)定制平臺(tái)的研究上,與Windows操作系統(tǒng)相比還存在差距。因此,要使嵌入式Linux在嵌入式操作系統(tǒng)領(lǐng)域中的優(yōu)勢(shì)更加明顯,整體集成開(kāi)發(fā)環(huán)境還有待提高和完善。

5 嵌入式Linux的發(fā)展及應(yīng)用前景

  綜上,由于Linux具有對(duì)各種設(shè)備的廣泛支持性,因此,能方便地應(yīng)用于機(jī)頂盒、IA設(shè)備、PDA、掌上電腦、WAP手機(jī)、尋呼機(jī)、車(chē)載盒以及工業(yè)控制等智能信息產(chǎn)品中。與PC相比,手持設(shè)備、IA設(shè)備以及信息家電的市場(chǎng)容量要高得多,而Linux嵌入式系統(tǒng)的強(qiáng)大的生命力和利用價(jià)值,使越來(lái)越多的企業(yè)和高校表現(xiàn)出對(duì)它極大的研發(fā)熱情。藍(lán)點(diǎn)軟件公司、博利思公司、共創(chuàng)軟件聯(lián)盟、中科紅旗等公司都已將嵌入式系統(tǒng)的開(kāi)發(fā)作為自己的主要發(fā)展方向之一。

  在嵌入式系統(tǒng)的應(yīng)用中,Linux嵌入式操作系統(tǒng)所具有的技術(shù)優(yōu)勢(shì)和獨(dú)特的開(kāi)發(fā)模式給業(yè)界以新異。有理由相信,它能成為Internet時(shí)代嵌入式操作系統(tǒng)中的最強(qiáng)音。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉