我对主设备号和次设备号的概念有一些澄清。我理解以下概念。
dev_t
类型中的MAJOR和MINOR号码相关联。register_chrdev_region
我遇到的问题是使用这些数字的确切位置。截至我查看,它引导我得到以下答案
内核使用此编号来识别与设备关联的驱动程序
任何人都可以帮助我。
答案 0 :(得分:2)
执行ls -l /dev/*
会显示
...
crw-rw---T+ 1 root audio 116, 33 sept. 21 09:19 timer
...
116, 33
是此特定设备的主要内容和次要内容。
Tha major设置设备的类型,通常是与之关联的驱动程序。次要列出了该类型的第一,第二,第三......设备。
每个主要号码只有一个驱动程序,并且由它处理多个未成年人。
当然,现在可以动态分配这些数字。
答案 1 :(得分:0)
简单来说,
主要号码告知使用了哪个驱动程序。注册设备驱动程序时会分配此编号。
次要号码告知该设备类型使用的设备。
说硬盘可能有四个分区。每个分区都有单独的次要编号,其中只有一个主编号。因为所有分区都使用相同的存储驱动程序。
有关详细信息,请http://www.makelinux.net/ldd3/
答案 2 :(得分:0)
主要号码和次要号码告诉内核如何访问设备。
为同一设备驱动程序控制的所有设备分配一个公共主要编号。 次要编号有助于区分使用相同设备驱动程序的确切设备类型/控制器。