linux驱动程序
在使用自己編譯的內(nèi)核進(jìn)linux開發(fā)的時(shí)候,好像所示哪一個(gè)環(huán)節(jié)沒有修改好,使用nfs的過程中一直出現(xiàn)這種情況,設(shè)備能夠正常的進(jìn)行掛載但是掛載成功之后進(jìn)行文件拷貝的時(shí)候一直提示:
nfs: server 192.168.1.107 not responding still trying如果檢查了你的服務(wù)器上的文件已經(jīng)有權(quán)限的,并且一切的配置也是沒有問題的那么就可能使是因?yàn)閚fs使用的是udp進(jìn)行的通訊,相對(duì)于電腦來說你的設(shè)備的網(wǎng)卡實(shí)在是太慢了,所以使用的時(shí)候需要進(jìn)行設(shè)置,使用一下命令進(jìn)行:
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.199.142:/home/wxp/nfs_root /mntproc文件與dev文件的區(qū)別
1、proc目錄是一個(gè)虛擬文件系統(tǒng),可以為linux用戶空間和內(nèi)核空間提供交互
它只存在于內(nèi)存中,而不占實(shí)際的flash或硬盤空間
2、/proc/devices/里的設(shè)備是加載驅(qū)動(dòng)程序時(shí)生成的
3、/dev/下的設(shè)備是通過創(chuàng)建設(shè)備節(jié)點(diǎn)生成的,用戶通過此設(shè)備節(jié)點(diǎn)來訪問內(nèi)核里的驅(qū)動(dòng)
開發(fā)2440的led驅(qū)動(dòng)程序
驅(qū)動(dòng)程序 first_drv.c
Makefile文件
KERN_DIR = /work/svn_linux/linux # KERN_DIR是內(nèi)核的目錄位置 #注意指向的內(nèi)核一定是編譯過測(cè)內(nèi)核,并且使用的是和你設(shè)備中是同一版本,最好是同一個(gè)內(nèi)核 #指到這個(gè)位置是為了使用內(nèi)核目錄下的makefile對(duì)該文件進(jìn)行編譯 all:make -C $(KERN_DIR) M=`pwd` modules clean:make -C $(KERN_DIR) M=`pwd` modules cleanrm -rf modules.orderobj-m += first_drv.o在編譯之后會(huì)生成相應(yīng)的.ko文件
然后編輯相應(yīng)的的測(cè)試文件;
firstdrvtest.c
然后就是使用mount 進(jìn)行設(shè)備的掛載
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.199.142:/home/wxp/nfs_root /mnt掛載之后使用
insmod xxx.ko手動(dòng)進(jìn)行驅(qū)動(dòng)程序的安裝
安裝完成之后使用 mknod 在/dev目錄下創(chuàng)建相應(yīng)的設(shè)備節(jié)點(diǎn),注意節(jié)點(diǎn)是在驅(qū)動(dòng)程序助攻確定的,要是自己不確定可以再設(shè)備中的a/proc目錄中使用
命令進(jìn)行查看相應(yīng)的設(shè)備的節(jié)點(diǎn)編號(hào)
比如是252
就可以使用命令:
/dev/xyz 是設(shè)備節(jié)點(diǎn) 在測(cè)試函數(shù)進(jìn)行打開文件設(shè)備的時(shí)候確定
c說明是創(chuàng)建字符型設(shè)備節(jié)點(diǎn)
252是創(chuàng)建與/proc/devices中加載的驅(qū)動(dòng)程序的設(shè)備節(jié)點(diǎn)號(hào)對(duì)應(yīng)的數(shù)值,也就是主設(shè)備節(jié)點(diǎn)
0是次設(shè)備節(jié)點(diǎn) 若是只有一個(gè),就直接為0
mdev會(huì)根據(jù)系統(tǒng)的信息創(chuàng)建設(shè)備節(jié)點(diǎn)
怎樣查看自己的設(shè)備節(jié)點(diǎn)
進(jìn)入到 /sys/class/dev 目錄下面會(huì)有相應(yīng)的驅(qū)動(dòng)名稱的信息,相應(yīng)的信息在與驅(qū)動(dòng)文件名相關(guān)的,目錄中之中
總結(jié)
- 上一篇: 作者:司恩哲(1985-),男,就职于中
- 下一篇: 第一届大数据科学与工程国际会议(2016