誰(shuí)將引領(lǐng)嵌入式Linux開(kāi)發(fā)?_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、誰(shuí)將引領(lǐng)嵌入式linux開(kāi)發(fā)?近年來(lái),計(jì)算機(jī)技術(shù)、通信技術(shù)及小型設(shè)備創(chuàng)造業(yè)均取得了飛快進(jìn)展。以計(jì)算機(jī)、通信產(chǎn)品、消費(fèi)電子為典型產(chǎn)品代表的這三大產(chǎn)業(yè)正展現(xiàn)更加顯然的整合趨勢(shì),即3c整合。產(chǎn)品創(chuàng)造方面,各廠家都爭(zhēng)相以微型化和專(zhuān)業(yè)化作為設(shè)計(jì)、創(chuàng)造產(chǎn)品的核心理念,這使得具備這些特點(diǎn)的產(chǎn)品(即產(chǎn)品)成為產(chǎn)業(yè)中毫無(wú)爭(zhēng)議的主流;產(chǎn)品系統(tǒng)軟件方面,擁有開(kāi)放源碼、高硬件兼容性、高穩(wěn)定性、高定制性等特點(diǎn)的嵌入式系統(tǒng),已讓越來(lái)越多的企業(yè)和研發(fā)機(jī)構(gòu)由傳統(tǒng)商業(yè)系統(tǒng)轉(zhuǎn)向?qū)ζ涞挠懻撻_(kāi)發(fā);新興的嵌入式操作系統(tǒng)市場(chǎng)上,嵌入式linux正展現(xiàn)出驚人增長(zhǎng)率。針對(duì)這一熱點(diǎn),本文以對(duì)目前嵌入式linux的開(kāi)發(fā)過(guò)程與工具挑選分析為主題,

2、力爭(zhēng)向讀者展示一個(gè)清楚的開(kāi)發(fā)框架及實(shí)際操作辦法指向。系統(tǒng)開(kāi)發(fā)復(fù)雜度確定及成本控制按照實(shí)際構(gòu)建辦法定義,嵌入式linux是指對(duì)標(biāo)準(zhǔn)linux經(jīng)過(guò)裁剪、固化至設(shè)備存儲(chǔ)體中,完成特定嵌入式應(yīng)用的專(zhuān)用linux系統(tǒng)。舉行系統(tǒng)開(kāi)發(fā)需兼顧軟件、硬件兩方面資源,針對(duì)特定應(yīng)用,軟件系統(tǒng)功能要協(xié)作硬件資源來(lái)設(shè)計(jì)。硬件方面,確定應(yīng)用范圍和性能等級(jí)是首先要考慮的,由于二者的選型打算了囫圇產(chǎn)品的功能及性能,也就大體確定了產(chǎn)品的硬件成本。硬件資源固定后,就可針對(duì)所選資源舉行軟件選型、功能裁剪需求、工具搭配等軟件系統(tǒng)方面的分析和定奪了。圖1是普通的系統(tǒng)開(kāi)發(fā)流程:圖1普通的嵌入式linux系統(tǒng)開(kāi)發(fā)流程作為一個(gè)功能完整的操作

3、系統(tǒng),linux能提供嵌入式系統(tǒng)所需的基本內(nèi)核和全部用戶(hù)界面。具有內(nèi)存管理、任務(wù)切換和時(shí)光服務(wù)及其它分拆的微內(nèi)核到完整的服務(wù)器,支持全部的文件系統(tǒng)和網(wǎng)絡(luò)服務(wù)。要使其成為易用且高效的嵌入式系統(tǒng),前期關(guān)鍵的工作分為linux版本挑選、系統(tǒng)功能裁剪分析、文件系統(tǒng)及工具搭配幾步。首先,根據(jù)選定的硬件挑選合適的linux系統(tǒng)版本,標(biāo)準(zhǔn)為系統(tǒng)要支持所選硬件且系統(tǒng)執(zhí)行速度與硬件性能匹配較好。然后舉行系統(tǒng)功能裁剪分析,標(biāo)準(zhǔn)為系統(tǒng)應(yīng)在滿(mǎn)足應(yīng)用的前提下,盡可能減小尺寸,去掉不需要的模塊。最后,為系統(tǒng)挑選合適的文件系統(tǒng)及工具,同樣以滿(mǎn)足應(yīng)用和減小尺寸為標(biāo)準(zhǔn)。做好以上系統(tǒng)開(kāi)發(fā)復(fù)雜度分析,不僅可較好規(guī)劃產(chǎn)品開(kāi)發(fā)成本,而

4、且對(duì)后續(xù)開(kāi)發(fā)過(guò)程也起到了關(guān)鍵的需求參照作用。開(kāi)發(fā)過(guò)程與對(duì)應(yīng)開(kāi)發(fā)工具挑選嵌入式linux系統(tǒng)的開(kāi)發(fā)過(guò)程與其對(duì)應(yīng)的開(kāi)發(fā)工具聯(lián)系非常緊密,完成一個(gè)系統(tǒng)的開(kāi)發(fā),不僅需要大量的工具,而且多以平臺(tái)交錯(cuò)開(kāi)發(fā)模式為主:嵌入式linux開(kāi)發(fā)工具挑選的基本依據(jù)工具挑選的基本依據(jù)主要有以下幾點(diǎn):開(kāi)源性,因?yàn)閘inux系統(tǒng)本身的開(kāi)源特性,從版權(quán)及成本兩方面考慮,配套開(kāi)發(fā)工具也應(yīng)用法開(kāi)源軟件;跨平臺(tái)性,開(kāi)發(fā)過(guò)程涉及宿主機(jī)與目標(biāo)機(jī),體系架構(gòu)多有不同,因此有的工具需支持多平臺(tái);精簡(jiǎn)性,在滿(mǎn)足功能前提下,除應(yīng)盡量用法較小體積的軟件外,多功能、高整合度工具的用法也是必不行少的。linux原型系統(tǒng)挑選與工具預(yù)備終于的嵌入式lin

5、ux系統(tǒng)來(lái)源都是完整的linux操作系統(tǒng)。在開(kāi)發(fā)時(shí),對(duì)原型linux系統(tǒng)的挑選及前期開(kāi)發(fā)工具的預(yù)備對(duì)囫圇開(kāi)發(fā)的效率及成績(jī)都有很大影響。挑選原型系統(tǒng)時(shí),首先要從體系架構(gòu)及設(shè)備兼容性舉行分析,先找出滿(mǎn)足功能要求的版本及補(bǔ)丁,然后按照硬件實(shí)際性能及存儲(chǔ)容量打算終于系統(tǒng)版本。前期工具預(yù)備包括2類(lèi)工具的挑選:開(kāi)發(fā)用工具和系統(tǒng)工具。前者只在開(kāi)發(fā)過(guò)程中起作用,多為宿主機(jī)平臺(tái)工具。后者則是在終于的嵌入式linux系統(tǒng)中用法,多為目標(biāo)平臺(tái)工具。linux交錯(cuò)開(kāi)發(fā)環(huán)境建立linux交錯(cuò)開(kāi)發(fā)環(huán)境基本都是由gnu開(kāi)源工具鏈搭建,工具鏈同樣存在版本挑選的問(wèn)題。針對(duì)所開(kāi)發(fā)的目標(biāo)平臺(tái)挑選相應(yīng)編譯器及調(diào)試器等,同時(shí)對(duì)應(yīng)原型l

6、inux的版本、工具鏈版本需與其協(xié)作以保證工具可正常用法,詳細(xì)版本相關(guān)性請(qǐng)參考及gnu給出的解釋文檔。將原型linux及交錯(cuò)開(kāi)發(fā)環(huán)境都保存于宿主機(jī)上,用法串口或網(wǎng)口等銜接設(shè)備將宿主機(jī)與目標(biāo)機(jī)銜接在一起,安裝好宿主機(jī)和目標(biāo)機(jī)的通訊工具及服務(wù);安裝tftp服務(wù)器,為目標(biāo)機(jī)從主機(jī)上下載文件提供服務(wù);啟動(dòng)telnet服務(wù);安裝串口通訊工具minicom,一個(gè)交錯(cuò)編譯環(huán)境就基本建立完成了。然后即可在宿主機(jī)上用交錯(cuò)工具鏈對(duì)原型linux及其他目標(biāo)機(jī)用軟件舉行交錯(cuò)編譯、調(diào)試,并用法通訊工具將編譯好的目標(biāo)代碼傳至目標(biāo)機(jī)運(yùn)行。內(nèi)核及根文件系統(tǒng)開(kāi)發(fā)一個(gè)完整的嵌入式linux系統(tǒng)包括兩大部分:內(nèi)

7、核及根文件系統(tǒng)。內(nèi)核內(nèi)核開(kāi)發(fā)移植完整過(guò)程包括:編寫(xiě)針對(duì)特定處理器的任務(wù)調(diào)度、中斷處理等代碼;編寫(xiě)針對(duì)特定硬件平臺(tái)的引導(dǎo)和初始化代碼;編寫(xiě)針對(duì)特定外設(shè)的設(shè)備驅(qū)動(dòng)程序代碼;交錯(cuò)編譯內(nèi)核。前兩個(gè)步驟在開(kāi)源社區(qū)中基本能找到現(xiàn)成可用資源,第三個(gè)步驟目前也有無(wú)數(shù)典型設(shè)備驅(qū)動(dòng)代碼可供用法,因此現(xiàn)今的開(kāi)發(fā)過(guò)程已大大簡(jiǎn)化,所做工作基本是對(duì)現(xiàn)有資源的收拾及補(bǔ)充,如需編寫(xiě)代碼,則可能涉及到匯編工具及c代碼編寫(xiě)工具的用法。最后一步交錯(cuò)編譯生成根據(jù)需求配置好的內(nèi)核鏡像。完成這一任務(wù)的工具是安裝于宿主機(jī)上的gnu交錯(cuò)工具鏈,其詳細(xì)工具主要是gcc編譯器、ld鏈接器的目標(biāo)平臺(tái)架構(gòu)版本。首先安裝對(duì)應(yīng)目標(biāo)平臺(tái)的工具鏈,將工具鏈

8、的二進(jìn)制程序路徑輸出為path環(huán)境變量,將其依靠的庫(kù)文件路徑輸出為ld_library_path變量,然后執(zhí)行內(nèi)核配置指令make menuconfig,按照實(shí)際系統(tǒng)需求對(duì)內(nèi)核模塊舉行裁剪配置并保存配置文件;然后執(zhí)行編譯指令make bzimage舉行交錯(cuò)編譯生成所需內(nèi)核鏡像,執(zhí)行編譯模塊指令生成內(nèi)核所需模塊。根文件系統(tǒng)對(duì)于根文件系統(tǒng)的開(kāi)發(fā),重點(diǎn)在于針對(duì)不同應(yīng)用交錯(cuò)編譯相應(yīng)庫(kù)文件,并搭配適當(dāng)系統(tǒng)指令和應(yīng)用程序,完成囫圇系統(tǒng)的運(yùn)作支持。一個(gè)最基本的根文件系統(tǒng)普通包括以下幾個(gè)部分:系統(tǒng)指令:完成如文件查看、掛載、系統(tǒng)進(jìn)程查看等基本工作的linux指令集合。在對(duì)系統(tǒng)體積要求較高的嵌入式linux系統(tǒng)

9、開(kāi)發(fā)中,最常用的是busybox工具。配置文件:保存系統(tǒng)服務(wù),應(yīng)用程序等的配置信息。普通可參考完整linux系統(tǒng)上的配置文件。設(shè)備文件:系統(tǒng)中用法的設(shè)備,以文件形式存放于/dev下,普通裝有udev工具即可動(dòng)態(tài)生成設(shè)備文件。庫(kù):內(nèi)核模塊、應(yīng)用程序等各程序運(yùn)行所需庫(kù)文件。詳細(xì)庫(kù)文件包含的內(nèi)容應(yīng)按照實(shí)際運(yùn)行的程序來(lái)打算,可用ldd指令輔助查找程序所需庫(kù)。應(yīng)用程序:完成系統(tǒng)應(yīng)用所需的應(yīng)用程序。如手持終端中常用的qt圖形程序。程序開(kāi)發(fā)及gdb調(diào)試模式嵌入式上層應(yīng)用軟件的開(kāi)發(fā)及調(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)程

10、調(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,在建立遠(yuǎn)程調(diào)試硬件層服務(wù)的基礎(chǔ)上舉行調(diào)試。整體系統(tǒng)測(cè)試對(duì)囫圇系統(tǒng)的測(cè)試主要分為功能測(cè)試和性能測(cè)試兩部分。功能測(cè)試:測(cè)試系統(tǒng)在完成指定應(yīng)用時(shí)的正確性、操控性等指標(biāo)。詳細(xì)測(cè)試標(biāo)準(zhǔn)視應(yīng)用而定,由測(cè)試人員執(zhí)行應(yīng)用程序完成測(cè)試。性能測(cè)試:測(cè)試系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性、效率等指標(biāo)。詳細(xì)測(cè)試工具可用法ltp、lmbench等行業(yè)通用開(kāi)源測(cè)試套件,測(cè)試結(jié)果標(biāo)準(zhǔn)也可參照上述工具給出,由測(cè)試人員執(zhí)行測(cè)試用例腳本

11、等方式完成測(cè)試。嵌入式linux開(kāi)發(fā)及其工具的進(jìn)展趨勢(shì)上述分析看出,嵌入式linux系統(tǒng)對(duì)開(kāi)發(fā)環(huán)境有較高要求,不僅要大量工具組合用法,且其版本兼容性問(wèn)題也向來(lái)困擾開(kāi)發(fā)者。鑒于此,無(wú)數(shù)linux開(kāi)發(fā)者、開(kāi)源企業(yè)都將思路轉(zhuǎn)向討論開(kāi)發(fā)一整套嵌入式集成開(kāi)發(fā)環(huán)境以提高開(kāi)發(fā)效率上來(lái)。一個(gè)完整的嵌入式linux集成開(kāi)發(fā)平臺(tái)通常包括上述各開(kāi)發(fā)步驟涉及的工具和集成用戶(hù)界面。集成開(kāi)發(fā)工具的開(kāi)發(fā),對(duì)嵌入式linux行業(yè)而言,是一項(xiàng)既有高技術(shù)生命周期,又有可觀經(jīng)濟(jì)價(jià)值的綜合開(kāi)發(fā)解決計(jì)劃。和過(guò)去相比,越來(lái)越多的開(kāi)發(fā)者開(kāi)頭用法集成開(kāi)發(fā)工具。linuxdevices第六個(gè)年度報(bào)告指出,2006年,惟獨(dú)56%的被調(diào)查者在用法免費(fèi)工具,比去年下降了2%;而商業(yè)工具的用法,則從去年的9%提高到15%(2)。圖2 2006年嵌入式linux開(kāi)發(fā)工具采納狀況優(yōu)秀

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論