当前位置: 技术问答>linux和unix
请教Linux2.6设备放在哪?
来源: 互联网 发布时间:2016-02-08
本文导语: 我自己写一个驱动程序,装载驱动之后,在2.4内核中用: fhandler = open(“/dev/fps200”, 0, S_IREAD);来打开设备,请教在2.6内核中oepn函数的第一个参数是什么?怎么确定?--听说都移到/sys目录下了。。。。 我在...
我自己写一个驱动程序,装载驱动之后,在2.4内核中用:
fhandler = open(“/dev/fps200”, 0, S_IREAD);来打开设备,请教在2.6内核中oepn函数的第一个参数是什么?怎么确定?--听说都移到/sys目录下了。。。。
我在/sys/module/下找到一个目录:fps200usb,请问oepn操作的参数是这个吗?
fhandler = open(“/dev/fps200”, 0, S_IREAD);来打开设备,请教在2.6内核中oepn函数的第一个参数是什么?怎么确定?--听说都移到/sys目录下了。。。。
我在/sys/module/下找到一个目录:fps200usb,请问oepn操作的参数是这个吗?
|
open(“/dev/fps200”, 0, S_IREAD);
参数就是设备节点的位置,2.4内核中注册设备会自动在/dev/下添加设备节点。
参数就是设备节点的位置,2.4内核中注册设备会自动在/dev/下添加设备节点。
|
是在/dev下,不是/sys
2.6的内核驱动采用新格式,加载驱动后不会主动在/dev下添加节点,只在/proc/devices下注册了设备号,需要在/dev下手动mknod,当然,上面说的是字符驱动,还有其他驱动可能不同,比如网络驱动就不用在/dev下建立节点。
建立楼主看看Linux Device Driver,2.4内核看第二版,2.6内核看第三版。网上和书店都有中英文版。
2.6的内核驱动采用新格式,加载驱动后不会主动在/dev下添加节点,只在/proc/devices下注册了设备号,需要在/dev下手动mknod,当然,上面说的是字符驱动,还有其他驱动可能不同,比如网络驱动就不用在/dev下建立节点。
建立楼主看看Linux Device Driver,2.4内核看第二版,2.6内核看第三版。网上和书店都有中英文版。
|
2.4也要手动mknod的吧.
|
命令 ls -al
看下面的VMlinus-XXXXX 这个就是内核文件以及版本
看下面的VMlinus-XXXXX 这个就是内核文件以及版本