Linux 到 QNX USB 驱动程序转换

问题描述 投票:0回答:1

我刚刚开始使用 QNX。我正在尝试通过改编在 github 上找到的代码来在 QNX 下编写 USB3 视觉驱动程序: https://github.com/ni/usb3vision/tree/master

我想知道如何用 QNX libusbdi 的函数替换 usb_bulk_msg() 函数,但我不知道该怎么做。

提前谢谢您。

大部分功能是相同的,但我不知道如何替换usb_bulk_msg。

linux usb linux-device-driver libusb qnx
1个回答
0
投票

我只能访问 QNX 6.5 及更早版本的

libusbdi
文档。当时,QNX libusbdi 不提供同步消息传递功能,仅通过
usbd_io
提供异步完成回调接口。您需要编写自己的垫片函数。

usb_bulk_msg
本身实际上是使用与libusbdi非常相似的底层异步USB API实现的;您可以使用那里的内核源代码作为如何实现它的指南。在 QNX 上,
struct completion
可以使用 condvar 来实现。请注意,您还需要跟踪未完成的请求,以便管理设备删除回调中的清理工作。

© www.soinside.com 2019 - 2024. All rights reserved.