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

下載本文檔

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

文檔簡介

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

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

3、系統(tǒng),linux能提供嵌入式系統(tǒng)所需的基本內(nèi)核和全部用戶界面。具有內(nèi)存管理、任務(wù)切換和時光服務(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)在滿足應(yīng)用的前提下,盡可能減小尺寸,去掉不需要的模塊。最后,為系統(tǒng)挑選合適的文件系統(tǒng)及工具,同樣以滿足應(yīng)用和減小尺寸為標(biāo)準(zhǔn)。做好以上系統(tǒng)開發(fā)復(fù)雜度分析,不僅可較好規(guī)劃產(chǎn)品開發(fā)成本,而

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

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

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

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

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

9、開發(fā)中,最常用的是busybox工具。配置文件:保存系統(tǒng)服務(wù),應(yīng)用程序等的配置信息。普通可參考完整linux系統(tǒng)上的配置文件。設(shè)備文件:系統(tǒng)中用法的設(shè)備,以文件形式存放于/dev下,普通裝有udev工具即可動態(tài)生成設(shè)備文件。庫:內(nèi)核模塊、應(yīng)用程序等各程序運行所需庫文件。詳細(xì)庫文件包含的內(nèi)容應(yīng)按照實際運行的程序來打算,可用ldd指令輔助查找程序所需庫。應(yīng)用程序:完成系統(tǒng)應(yīng)用所需的應(yīng)用程序。如手持終端中常用的qt圖形程序。程序開發(fā)及gdb調(diào)試模式嵌入式上層應(yīng)用軟件的開發(fā)及調(diào)試可用法本地調(diào)試和遠(yuǎn)程調(diào)試兩種辦法。本地調(diào)試:將所需的調(diào)試器移植到目標(biāo)系統(tǒng)中,然后挺直在目標(biāo)機(jī)上運行調(diào)試器來調(diào)試應(yīng)用程序。遠(yuǎn)程

10、調(diào)試:移植一個調(diào)試服務(wù)器到目標(biāo)系統(tǒng)中,并通過它與宿主機(jī)上的調(diào)試器共同完成應(yīng)用程序的調(diào)試。在嵌入式linux系統(tǒng)開發(fā)中,遠(yuǎn)程調(diào)試時目標(biāo)機(jī)上用法的調(diào)試服務(wù)器通常是gdbserver,而宿主機(jī)上用法的調(diào)試器則是gdb,在建立遠(yuǎn)程調(diào)試硬件層服務(wù)的基礎(chǔ)上舉行調(diào)試。整體系統(tǒng)測試對囫圇系統(tǒng)的測試主要分為功能測試和性能測試兩部分。功能測試:測試系統(tǒng)在完成指定應(yīng)用時的正確性、操控性等指標(biāo)。詳細(xì)測試標(biāo)準(zhǔn)視應(yīng)用而定,由測試人員執(zhí)行應(yīng)用程序完成測試。性能測試:測試系統(tǒng)運行時的穩(wěn)定性、效率等指標(biāo)。詳細(xì)測試工具可用法ltp、lmbench等行業(yè)通用開源測試套件,測試結(jié)果標(biāo)準(zhǔn)也可參照上述工具給出,由測試人員執(zhí)行測試用例腳本

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

溫馨提示

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

評論

0/150

提交評論