Alloc_chrdev_region不明白

时间:2015-02-19 16:39:40

标签: linux char kernel device

请帮帮我。

为什么我必须通过"小数字计数"这个功能。据我所知,这个函数返回MAJOR编号,然后我可以使用这个MAJOR和mknod命令一起使用我想要的任何次要编号。我是对的???

2 个答案:

答案 0 :(得分:0)

该功能为您保留一系列次要号码,您可以使用这些次要号码创建属于同一主要号码的不同设备。对于保留的每个次要编号,您可以通过在mknod中指定对major-minor来创建不同的节点(例如在/ dev中)。 次要号码是司机"打开"的参数之一。方法接收,其典型用法是区分属于同一驱动程序的不同设备实例。

答案 1 :(得分:0)

  

据我所知,这个函数返回MAJOR编号,然后我可以使用它   使用mknod命令使用任何次要编号,如我所愿。我'我   右???

您可以随时使用mknod注册或未注册的任何主要和次要号码;当然,如果没有合适的驱动程序,创建的设备文件就没什么用了。

但是,请参阅Linux Device Drivers, Major and Minor Numbers

  

现代Linux内核允许多个驱动程序共享主要数字......

成功分配一系列字符设备编号后,您可以注册另一个具有相同主要但不同次要编号的范围;内核检查重叠的小范围。