版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、準(zhǔn)備 Linux的安裝及基本操作 C語言語法 Gcc開發(fā)工具鏈的使用與調(diào)試批呈生成用戶LDV z并限制組空間為2G學(xué)生可以在服務(wù)器上開發(fā)linux驅(qū)動,但必須拿到具有全部權(quán)限的機(jī)器上進(jìn)行測試 學(xué)生可自行安裝windows xp與linux(debian或utunbu )參考文獻(xiàn) Linux設(shè)備歩動3 LDD3中文版.pdf-Linux驅(qū)動開發(fā)第三版(英文原版)第2頁/共24頁設(shè)備驅(qū)動程序的作用直接進(jìn)入內(nèi)核,對系統(tǒng)的任何東西逬行操作Linux設(shè)備驅(qū)動程序完全是以文件的形式出現(xiàn)的 Linux設(shè)備驅(qū)動程序后綴2.6為ko , 26以前為0第3頁/共24頁開發(fā)環(huán)境的搭建對于Linux驅(qū)動程序開發(fā)而言,
2、除了編譯器gcc之外,內(nèi)核源碼是必須的,而且源碼必須經(jīng)過正確的編譯, 安裝正確的模塊,即通過make (編譯),make modules (模塊編譯),make modulesnstall (安裝 模塊)。第4頁/共24頁安裝內(nèi)核源碼 apt-get install linux-tree-2.6.18 apt-get install linux-kernel-headers apt-get install install linux-headers-vuname內(nèi)核開發(fā)頭文件的正確安裝也是很重要的,否則如果沒有正確安裝則在驅(qū)動程序編譯時會出現(xiàn)Vlib/modules/'uname -r
3、'/build can't exist.p的錯誤提示。配置內(nèi)核以root身份進(jìn)入內(nèi)核源碼的目錄,執(zhí)行以下命令: make mrproper make mepuconfig(如果沒有安裝ncurses庫,此命令將不能 被正確執(zhí)行,可以通過命令apt-get install Iibncurses5-dev 安裝ncurses庫乏后再癡行此配晝命令) make prepare make modules_prepare(如果不執(zhí)行此命令在編譯驅(qū)動程序 時將會出現(xiàn)"/bin/sh: line 1: scripts/modpost: No such file or directo
4、ry, in stage 2”的錯誤)內(nèi)核的任務(wù)逬程管理(*)內(nèi)存管理(*)文件系統(tǒng)設(shè)備控制網(wǎng)絡(luò)第7頁/共24頁內(nèi)核模塊可加載驅(qū)動程序是模塊化的KemdJ=s=lw_& OXMumoryConsoles,etc.Networkinterfaces第9頁/共24頁驅(qū)動程序可根據(jù)要求逬行加載與卸載 insmodrmmod第10頁/共24頁驅(qū)動程序分類設(shè)備在/dev目錄下都有專門的設(shè)備文件名,對驅(qū)動程序的操作是通過這些設(shè)備文件來進(jìn)行的字符設(shè)備一次讀寫少臺數(shù)據(jù),如串口設(shè)備塊設(shè)備一次讀寫大星數(shù)據(jù),如硬盤網(wǎng)絡(luò)接口與其他驅(qū)動程序不同,專門分為一類第12頁/共24頁個例子 Hello, driver-
5、world第笛頁/共24頁內(nèi)核 Makefile與傳統(tǒng)的應(yīng)用程序Makefile有很大不同,內(nèi)核編譯系統(tǒng)將會多做一些工作 obj-m := hello.o有一個模塊hello.ko將從hello.o中產(chǎn)生如果模塊依賴于非默認(rèn)的產(chǎn)生方式 obj-m := module.o module-objs := filel.o file2.o make -C /kernel-26 M =、pwd、modules-C /kernel-2.6改變目錄,其目錄是為了找到內(nèi)核的頂層Makefile M Jpwd、,回到生成模塊的目錄第14頁/共24頁scull這是一字符驅(qū)動程序,通過它來學(xué)習(xí)字符驅(qū)動程序的開發(fā)方法
6、 Simple Character Utility for Loading Localities的縮寫這是一個不需要額外硬件設(shè)備支持的驅(qū)動程序,使用一塊內(nèi)存作為設(shè)備可以使用cp cat以及io重走向操作命令第15頁/共24頁驅(qū)動程序主數(shù)與次數(shù)Major主數(shù)(是系統(tǒng)分配給加載驅(qū)動程序的數(shù)據(jù)),minor次數(shù)(由用戶定義的驅(qū)動程序的附本號)字符驅(qū)動程序在/dev目錄下有對應(yīng)的文件,所有與驅(qū)動相關(guān)的操作都轉(zhuǎn)化成對這個文件的操作。此文件的 屬性為c ,同時擁有主數(shù)與次數(shù)二個特征第16頁/共24頁分配設(shè)備號_ 驅(qū)動程序使用函數(shù)int registerchrdev_region(dev_t first,
7、unsigned int count,char name);來獲得系統(tǒng)分配的主號一一一First主號分配的范圍,count分配的數(shù)星,name為驅(qū)動程序名-如果成功返回值為0另一個函數(shù)int alloc_chdev_region(dev_t *devf unsigned int firstminocunsigned int count, char *name);第17頁/共24頁釋放設(shè)備號 void unregister_chrdev_region(dev_t first, unsigned int count);模塊卸載時使用第18頁/共24頁系統(tǒng)已經(jīng)加載的模塊 Cat /proc/devices加載模塊后根據(jù)這個文件中的內(nèi)容來創(chuàng)建關(guān)聯(lián)的驅(qū)動文件第19頁/共24頁sculljoad是一個scull的安裝腳本-分析只需將變呈名更改便可以用于其他驅(qū)動的安裝第20頁/共24頁scull_ unload這是scull的卸載腳本分析第21頁/共24頁scull.init支持參數(shù)的腳本,類似系統(tǒng)服務(wù)操作可完成load , unload等操作分析第22頁/共24頁文件操作對驅(qū)動程序的操作都可轉(zhuǎn)化成對文件的操作在內(nèi)核中共有三種相關(guān)的數(shù)據(jù)結(jié)構(gòu) file_operations# filejnode第23頁/共24頁File Operation
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《義務(wù)教育法》知識考試復(fù)習(xí)題庫(含答案)
- (技師)化學(xué)檢驗(yàn)工職業(yè)技能鑒定理論考試題庫(含答案)
- 年產(chǎn)1000噸納米復(fù)合氧化鋯項目可行性研究報告寫作模板-申批備案
- 2025年江西外語外貿(mào)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年新疆工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 幼兒園月亮故事活動策劃方案五篇
- 標(biāo)線承包合同范本
- 精準(zhǔn)醫(yī)療項目研發(fā)合作合同
- 麻雀的聽評課記錄
- 承攬貨物運(yùn)輸合同范本
- 房地產(chǎn)調(diào)控政策解讀
- 產(chǎn)前診斷室護(hù)理工作總結(jié)
- 2024-2025學(xué)年八年級數(shù)學(xué)人教版上冊寒假作業(yè)(綜合復(fù)習(xí)能力提升篇)(含答案)
- 《AP內(nèi)容介紹》課件
- 醫(yī)生定期考核簡易程序述職報告范文(10篇)
- 安全創(chuàng)新創(chuàng)效
- 《中國糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 國外文化消費(fèi)研究述評
- 部編版語文四年級下冊第一單元 迷人的鄉(xiāng)村風(fēng)景 大單元整體教學(xué)設(shè)計
- 湖南省長郡中學(xué)2023-2024學(xué)年高二下學(xué)期寒假檢測(開學(xué)考試)物理 含解析
- 五年級行程問題應(yīng)用題100道
評論
0/150
提交評論