Linux驱动 – 设备号
设备号的作用
设备号的作用很简单,就是给每一个设备编一个号码,是为了能方便的通过号码去找到设备,而不是通过字符去查找设备。有的设备属于同一种类,如led
,fb
等,所以就有了主设备号与次设备号之分,主设备号用来表示一个特定的设备驱动,次设备号用来管理下面的设备。如现在有两个led
设备,他们俩属于同一种设备,我们就可以只写一个驱动,led
设备通过次设备的形式挂在驱动下面,这样我们就可以通过同一个驱动以区分次设备的形式来控制两个led
设备。
主设备号与次设备号的实验
上面说到,次设备号使用的是同一个驱动,其意思是当应用通过open``read``write
等设备操作函数file_operations
来操作驱动时,其实调用的是字符设备在注册时与主设备号绑定的设备操作结构体。也就是使用register_chrdev
或者cdev_init/cdev_add
注册的字符设备。