版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式Linux內(nèi)核模塊的配置與編譯一、簡(jiǎn)介一、簡(jiǎn)介隨著Linux操作系統(tǒng)在嵌入式領(lǐng)域的快速發(fā)展,越來越多的人開始投身到這方面的開發(fā)中來。但是,面對(duì)龐大的Linux內(nèi)核源代碼,開發(fā)者如何開始自己的開發(fā)工作,在完成自己的代碼后,該如何編譯測(cè)試,以及如何將自己的代碼編譯進(jìn)內(nèi)核中,所有的這些問題都直接和Linux的驅(qū)動(dòng)的編譯以及Linux的內(nèi)核配置系統(tǒng)相關(guān)。內(nèi)核模塊是一些在操作系統(tǒng)內(nèi)核需要時(shí)載入和執(zhí)行的代碼,它們擴(kuò)展了操作系統(tǒng)內(nèi)核的功能卻不需
2、要重新啟動(dòng)系統(tǒng)在不需要時(shí)可以被操作系統(tǒng)卸載,又節(jié)約了系統(tǒng)的資源占用。設(shè)備驅(qū)動(dòng)程序模塊就是一種內(nèi)核模塊,它們可以用來讓操作系統(tǒng)正確識(shí)別和使用使用安裝在系統(tǒng)上的硬件設(shè)備。Linux內(nèi)核是由分布在全球的Linux愛好者共同開發(fā)的,為了方便開發(fā)者修改內(nèi)核,Linux的內(nèi)核采用了模塊化的內(nèi)核配置系統(tǒng),從而保證內(nèi)核擴(kuò)展的簡(jiǎn)單與方便。本文通過一個(gè)簡(jiǎn)單的示例,首先介紹了如何在Linux下編譯出一個(gè)內(nèi)核模塊,然后介紹了Linux內(nèi)核中的配置系統(tǒng),講述了如
3、何將一個(gè)自定義的模塊作為系統(tǒng)源碼的一部分編譯出新的操作系統(tǒng),注意,在這里我們介紹的內(nèi)容均在內(nèi)核2.6.13.2(也是筆者的開發(fā)平臺(tái)的版本)上編譯運(yùn)行通過,在2.6.的版本上基本上是可以通用的。二、單獨(dú)編譯內(nèi)核模塊二、單獨(dú)編譯內(nèi)核模塊首先,我們先來寫一個(gè)最簡(jiǎn)單的內(nèi)核模塊:#include#include#include#defineDRIVER_VERSION“v1.0“#defineDRIVER_AUTH“RF“#defineDRIVE
4、R_DESC“justftest“普通應(yīng)用程序的可執(zhí)行文件和內(nèi)核模塊時(shí),內(nèi)核頭文件起的作用是不同的。在以往的內(nèi)核版本需要我們?nèi)ピ贛akefile中手動(dòng)設(shè)置這些設(shè)定,雖然這些Makefile都是按目錄分層次存放的,但使用維護(hù)起來還是比較伏在。幸運(yùn)的是,一種稱為kbuild的新方法被引入,現(xiàn)在外部的可加載內(nèi)核模塊的編譯的方法已經(jīng)同內(nèi)核編譯統(tǒng)一起來,編譯新的內(nèi)核模塊或者將自己的內(nèi)核模塊集成到內(nèi)核源碼中都已經(jīng)變得非常簡(jiǎn)單了。現(xiàn)在讓我們看一下如何
5、編譯一個(gè)名字叫做test.c的模塊。首先,我們需要寫一個(gè)簡(jiǎn)單的Makefile文件:objm=test.o將test.c和Makefile文件放在同一個(gè)目錄下,然后就可以開始編譯了,使用編譯命令:makeCusrsrclinux2.6.13.2SUBDIRS=$PWDmodules回車后,也許你會(huì)發(fā)現(xiàn)有一堆的報(bào)錯(cuò),請(qǐng)檢查如下配置是否正確:1、在usrsrc下有無放置你需要使用的內(nèi)核源碼樹?如果沒有,請(qǐng)上網(wǎng)down一個(gè)你需要的內(nèi)核源碼版本
6、,解壓后放在這里。2、如果你已經(jīng)將內(nèi)核源碼解壓在usrsrc下了,那么請(qǐng)先使用在內(nèi)核源碼的主目錄下,在筆者的系統(tǒng)中就是usrsrclinux2.6.13.2,使用:makeconfig或者makemenuconfig或者makegconfig等命令來配置內(nèi)核,然后使用makeall將整個(gè)內(nèi)核完整編譯一次。3、上述命令中的linux2.6.13.2是筆者使用的內(nèi)核源碼的目錄名,你需要將它改成你自己使用對(duì)應(yīng)版本的的內(nèi)核源碼的目錄名。經(jīng)過上述
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式Linux內(nèi)核研究.pdf
- 嵌入式Linux內(nèi)核解析.pdf
- 內(nèi)核模塊的加載
- 基于2.6內(nèi)核的嵌入式linux研究
- 嵌入式Linux內(nèi)核配置與文件系統(tǒng)的優(yōu)化方法研究.pdf
- 嵌入式Linux實(shí)時(shí)內(nèi)核RTAI移植與測(cè)試.pdf
- 嵌入式Linux內(nèi)核調(diào)試技術(shù)的研究與實(shí)現(xiàn).pdf
- 強(qiáng)力卸載內(nèi)核模塊(一)
- 基于即時(shí)模塊編譯的嵌入式Linux動(dòng)態(tài)擴(kuò)展技術(shù)研究.pdf
- linux2.6內(nèi)核在嵌入式系統(tǒng)中的應(yīng)用——linux2.6內(nèi)核到
- 嵌入式系統(tǒng)內(nèi)核啟動(dòng)模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 嵌入式Linux內(nèi)核裁剪及移植的研究與實(shí)現(xiàn).pdf
- ARM11的嵌入式免疫Linux內(nèi)核研究.pdf
- 基于ARM的嵌入式Linux可搶占內(nèi)核的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于嵌入式linux的內(nèi)核線程庫KTH的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種可配置的嵌入式內(nèi)核設(shè)計(jì)與實(shí)現(xiàn).pdf
- 嵌入式Linux內(nèi)核實(shí)時(shí)性研究及應(yīng)用.pdf
- 嵌入式Linux操作系統(tǒng)內(nèi)核移植的研究與實(shí)踐.pdf
- 畢業(yè)論文----基于arm的嵌入式linux內(nèi)核的研究與移植
- 基于應(yīng)用程序的嵌入式Linux內(nèi)核自動(dòng)裁剪.pdf
評(píng)論
0/150
提交評(píng)論