Chi*_*era 8 linux usb kernel libusb linux-kernel
我正在研究如何在Linux中与USB设备进行通信,而不愿意编写Linux内核驱动程序.我知道libusb存在并且是一个可以工作的用户区域库,但是我们的嵌入式设备不支持usbfs(并且真的很难改变内核以添加支持).
所以我的问题基本上是这样的:通过直接读取/写入/ dev/USB或USB设备对应的udev文件,是否可以/建议与USB设备通信,从而绕过对自定义Linux驱动程序和usbfs的需求?
我希望一旦/ dev/USB或udev设备文件打开,只需通过文件类型的读/写命令直接读/写协议包,就可以使用USB设备协议进行通信.
请提出意见和建议.
跟进:
由于我需要与之通信的USB设备是USB HID类设备,我可以通过直接读/写/ dev/hidraw0(或相应的/ dev/hidraw设备)来使用libudev和标准的Linux USB HID RAW驱动程序.没有必要为简单的USB HID设备编写自定义驱动程序.
吉姆,我认为您不必逃避编写驱动程序的需要,而只是设法读取中的USB文件/dev。因为谁定义了read()在USB设备文件上执行操作时会发生什么?谁定义了调用时应启动的动作sysioctl()?你的司机!换句话说,在基础驱动程序支持之前,设备文件本身不具备任何功能。实际上,您可以将设备文件视为基础驱动程序的抽象!因此,没有驱动程序,没有使用设备文件:(
建议您阅读以下有关如何编写驱动程序的文章,并了解USB的内部结构-
| 归档时间: |
|
| 查看次数: |
10232 次 |
| 最近记录: |