所以我想知道:既然libusb提供了对USB的用户空间访问,那么是否有可能将已经存在的内核驱动程序移植到libusb?
我理解它可能需要重写驱动程序,但您认为是否有可能编写一个依赖libusb访问设备的“虚拟内核”,并将已有的驱动程序链接到该内核?本质上是在libusb和内核模块之间编写一个层,将内核USB命令转换为libusb命令。
为什么要麻烦呢?例如,如果您想在Android上运行内核驱动程序,您需要确保它是为特定的内核版本/设备模型编译的。因此,应用程序不可能在所有设备上运行。另一方面,libusb与大多数最新的Android开发者完全兼容。
发布于 2014-03-12 05:29:05
libusb是一个库,它与内核的USB层的高级通信。USB子系统的最低部分必须在内核空间中编写,因为它们需要访问USB主机控制器的物理地址空间,并使用中断和其他无法在用户空间实现的低级功能。
因此,我认为不可能在用户空间中移植USB子系统的底层部分。
https://stackoverflow.com/questions/22340718
复制相似问题