Linux设备驱动相关

来源:互联网 发布:冰柜售后软件 编辑:程序博客网 时间:2024/05/17 09:32

查看注册设备

我们可以查看proc/devices文件可以获知系统中注册的设备,第一例是主设备号,第二例是设备名,一般同一类设备的主设备号相同。

而次设备号能够唯一标识特定设备,我们可以使用ls -l可以显示出设备文件的主、次设备ID

Character devices:  1 mem  4 /dev/vc/0  4 tty  4 ttyS  5 /dev/tty  5 /dev/console  5 /dev/ptmx  7 vcs 10 misc 13 input 21 sg 29 fb 81 video4linux108 ppp116 alsa128 ptm136 pts180 usb189 usb_device199 galcore210 ft_rw_iic_drv216 rfcomm246 ttyGS247 on2psm248 on2map249 hx280enc_h1250 hx280enc251 hx170dec252 media253 rtc254 iioBlock devices:259 blkext  7 loop  8 sd 65 sd 66 sd 67 sd 68 sd 69 sd 70 sd 71 sd128 sd129 sd130 sd131 sd132 sd133 sd134 sd135 sd179 mmc253 device-mapper254 zram


udev

linux之前是用devfd来创建dev目录下的设备节点,但是后来使用了udev来替代,udev是属于用户态,udev接受kernel通过Netlink socket发送的uevent来创建设备(热插拔),而冷插拔的linux在sysfs下面有一个uevent节点,可以往该节点写一个“add”,导致内核重新发送Netlink的uevent事件。


sysfs文件系统

sysfs文件系统和proc很相似,其有block bus dev devices class fs kernel power和firmware等。

block目录是一些块设备,devices是所有系统的设备,bus是所有总线下的设备 比如usb i2c总线,class是对设备进行分类。

也就是说最后bus class block的设备文件 可能是devices下设备文件的符号链接

具体说明可以在内核源码文件Documentation/filesystems/sysfs.txt中看。


1 0
原创粉丝点击