手动创建设备 mknod命令
时间:2010-03-14 来源:tastesweet
insmod 加载驱动模块
也可以使用modprobe 加载驱动模块
例如:驱动模块为leds.ko,
insmod leds.ko
modprobe leds就可以了
这里两条命令的区别,还有区别就是modprobe会检测与该驱动相关的模块,并自动加载相应需要的模块。
加载后,就需要创建设备了,
可以使用的命令是mknod,
命令的格式是:
mknod 设备名 设备类型(字符:c,块:b) 主设备号 从设备号
例如;
mknod /dev/leds c 210 0
前提是要获取正确的 主设备号 从设备号,
如果主设备号 从设备号不正确,虽然在/dev下可以看到建立的设备,但如果open()会返回no device等错误.
如果在insmod or modprobe知道模块正确的主设备号 从设备号呢?
可以查看 /proc/device 文件的内容,例如:
Character devices:
1 mem
4 /dev/vc/0
4 tty
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs Block devices:
259 blkext
7 loop
8 sd
31 mtdblock
65 sd
66 sd
67 sd 分别显示字符设备与块设备, 左边是主设备号,右边的是设备名。 这个设备名就是你在驱动程序中 regiser_chrdev_region()或alloc_chrdev_region() 中指定的设备名。
1 mem
4 /dev/vc/0
4 tty
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs Block devices:
259 blkext
7 loop
8 sd
31 mtdblock
65 sd
66 sd
67 sd 分别显示字符设备与块设备, 左边是主设备号,右边的是设备名。 这个设备名就是你在驱动程序中 regiser_chrdev_region()或alloc_chrdev_region() 中指定的设备名。
相关阅读 更多 +