實(shí)驗(yàn)09編寫設(shè)備驅(qū)動程序.ppt
《實(shí)驗(yàn)09編寫設(shè)備驅(qū)動程序.ppt》由會員分享,可在線閱讀,更多相關(guān)《實(shí)驗(yàn)09編寫設(shè)備驅(qū)動程序.ppt(8頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
實(shí)驗(yàn)內(nèi)容 編寫設(shè)備驅(qū)動程序 文件操作數(shù)據(jù)結(jié)構(gòu) structfile operations int seek structinode structfile off t int int read structinode structfile char int int write structinode structfile off t int int readdir structinode structfile structdirent int int select structinode structfile int select table int ioctl structinode structfile unsinedint unsignedlong int mmap structinode structfile structvm area struct int open structinode structfile int release structinode structfile int fsync structinode structfile int fasync structinode structfile int int check media change structinode structfile int revalidate dev tdev 相關(guān)說明 這個(gè)結(jié)構(gòu)的每一個(gè)成員的名字都對應(yīng)著一個(gè)系統(tǒng)調(diào)用 用戶進(jìn)程利用系統(tǒng)調(diào)用在對設(shè)備文件進(jìn)行諸如read write操作時(shí) 系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號找到相應(yīng)的設(shè)備驅(qū)動程序 然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針 接著把控制權(quán)交給該函數(shù) 這是linux的設(shè)備驅(qū)動程序工作的基本原理 所以 編寫設(shè)備驅(qū)動程序的主要工作就是編寫子函數(shù) 并填充file operations的各個(gè)域 mydevice c程序示例 重新編譯內(nèi)核 把mydevice c放在相應(yīng)的字符設(shè)備驅(qū)動程序所在目錄 并修改該目錄的Makefile文件 添加設(shè)備文件 mknod dev mydevicec2310 測試 main inttestdev inti charbuf 10 testdev open dev mydevice O RDWR if testdev 1 printf Cann topenfile n exit 0 read testdev buf 10 for i 0 iclose testdev 編譯運(yùn)行 看看是不是打印出全1 小結(jié)- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 實(shí)驗(yàn) 09 編寫 設(shè)備 驅(qū)動程序
鏈接地址:http://www.szxfmmzy.com/p-8445016.html