Linux设备驱动相关

查看注册设备

我们可以查看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 video4linux
108 ppp
116 alsa
128 ptm
136 pts
180 usb
189 usb_device
199 galcore
210 ft_rw_iic_drv
216 rfcomm
246 ttyGS
247 on2psm
248 on2map
249 hx280enc_h1
250 hx280enc
251 hx170dec
252 media
253 rtc
254 iio

Block devices:
259 blkext
  7 loop
  8 sd
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc
253 device-mapper
254 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值