当前位置: 技术问答>linux和unix
关于设备操作的一点迷惑:计算机如何知道驱动程序要操作的设备正好是指定的设备?
来源: 互联网 发布时间:2015-12-10
本文导语: 如题:现在通过register_chrdev可以把主设备号和操作联系起来。然后再到操作结果fops中相应的操作中作出对端口的一系列操作。 现在我的问题是:主设备号是动态生成的,总线设备(如:PCI)端口号也是可以动态分配...
如题:现在通过register_chrdev可以把主设备号和操作联系起来。然后再到操作结果fops中相应的操作中作出对端口的一系列操作。
现在我的问题是:主设备号是动态生成的,总线设备(如:PCI)端口号也是可以动态分配的,那么现在怎么能够确定fops中的操作正好对应到我想要的设备上去呢?
现在我的问题是:主设备号是动态生成的,总线设备(如:PCI)端口号也是可以动态分配的,那么现在怎么能够确定fops中的操作正好对应到我想要的设备上去呢?
|
理解了:对端口操作时就是对特定的硬件进行操作。
|
open(struct inode *inode, struct file *filp) inode->i_cdev 再由cdev 可以得到自定义的dev , filp->private_data = dev; 以后的操作再由filp->private_data 得到dev 信息,块设备的i_bdev 也一样的
|
硬件有硬件各自的控制器,那是硬编程得,驱动程序就是要控制那些控制器,通过与其提供得寄存器交互来控制。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。