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