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

下載本文檔

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

文檔簡介

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

2、力爭向讀者展示一個清楚的開發(fā)框架及實際操作辦法指向。系統(tǒng)開發(fā)復雜度確定及成本控制按照實際構(gòu)建辦法定義,嵌入式linux是指對標準linux經(jīng)過裁剪、固化至設備存儲體中,完成特定嵌入式應用的專用linux系統(tǒng)。舉行系統(tǒng)開發(fā)需兼顧軟件、硬件兩方面資源,針對特定應用,軟件系統(tǒng)功能要協(xié)作硬件資源來設計。硬件方面,確定應用范圍和性能等級是首先要考慮的,由于二者的選型打算了囫圇產(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)存管理、任務切換和時光服務及其它分拆的微內(nèi)核到完整的服務器,支持全部的文件系統(tǒng)和網(wǎng)絡服務。要使其成為易用且高效的嵌入式系統(tǒng),前期關鍵的工作分為linux版本挑選、系統(tǒng)功能裁剪分析、文件系統(tǒng)及工具搭配幾步。首先,根據(jù)選定的硬件挑選合適的linux系統(tǒng)版本,標準為系統(tǒng)要支持所選硬件且系統(tǒng)執(zhí)行速度與硬件性能匹配較好。然后舉行系統(tǒng)功能裁剪分析,標準為系統(tǒng)應在滿足應用的前提下,盡可能減小尺寸,去掉不需要的模塊。最后,為系統(tǒng)挑選合適的文件系統(tǒng)及工具,同樣以滿足應用和減小尺寸為標準。做好以上系統(tǒng)開發(fā)復雜度分析,不僅可較好規(guī)劃產(chǎn)品開發(fā)成本,而

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

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

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

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

8、的二進制程序路徑輸出為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ā),重點在于針對不同應用交錯編譯相應庫文件,并搭配適當系統(tǒng)指令和應用程序,完成囫圇系統(tǒng)的運作支持。一個最基本的根文件系統(tǒng)普通包括以下幾個部分:系統(tǒng)指令:完成如文件查看、掛載、系統(tǒng)進程查看等基本工作的linux指令集合。在對系統(tǒng)體積要求較高的嵌入式linux系統(tǒng)

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

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

11、等方式完成測試。嵌入式linux開發(fā)及其工具的進展趨勢上述分析看出,嵌入式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è)而言,是一項既有高技術生命周期,又有可觀經(jīng)濟價值的綜合開發(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論