这篇文章介绍linux中主/次设备号及设备文件类型的内容,都是从网上或书上抄下来积累的。
1)每个设备文件对应有两个设备号:主设备号,次设备号
① 主设备号:标识该设备的类型,也表示了该设备所使用的驱动程序;
驱动程序在初始化时,会注册它的驱动及对应主设备号到系统中,可以通过/proc/devices 文件来驱动系统设备的主设备号。
② 次设备号:表示使用同一设备驱动程序的不同硬件设备。有两个LED 指示灯,LED 灯需要独立的打开或者关闭。那么,可以写一个LED 灯的字符设备驱动程序,可以将其主设备号注册成5 号设备,次设备号分别为1 和2。这里,次设备号就分别表示两个LED 灯。
驱动程序遍历设备时,每发现一个它能驱动的设备,就创建一个设备对象,并为其分配一个次设备号以区分不同的设备。
申请的设备号为主设备号:alloc_chrdev_region();
主、次设备号
应用程序可以通过对/dev 目录下的设备文件读写,从而访问实际的设备。1)每个设备文件对应有两个设备号:主设备号,次设备号
① 主设备号:标识该设备的类型,也表示了该设备所使用的驱动程序;
驱动程序在初始化时,会注册它的驱动及对应主设备号到系统中,可以通过/proc/devices 文件来驱动系统设备的主设备号。
② 次设备号:表示使用同一设备驱动程序的不同硬件设备。有两个LED 指示灯,LED 灯需要独立的打开或者关闭。那么,可以写一个LED 灯的字符设备驱动程序,可以将其主设备号注册成5 号设备,次设备号分别为1 和2。这里,次设备号就分别表示两个LED 灯。
驱动程序遍历设备时,每发现一个它能驱动的设备,就创建一个设备对象,并为其分配一个次设备号以区分不同的设备。
申请的设备号为主设备号:alloc_chrdev_region();