手动创建设备 mknod命令

xiaoxiao2021-02-28  30

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() 中指定的设备名。
转载请注明原文地址: https://www.6miu.com/read-600295.html

最新回复(0)