如何通过USB高速传输数据?

How to transfer data with high speed through USB?

我正在尝试通过 zynq 板 (ZC706) 运行 petalinux 上的 ARM 处理器的 USB 端口找到 send/receive 数据的方法。

我在网上搜索过,完全不知道从哪里开始。我找到了解决方案,但没有考虑 USB 连接到 ARM 处理器、高速数据传输或 petalinux.

我知道如何编写简单的 linux 内核代码,我知道如何使用 zynq 开发板。

具体来说,我想知道如何写一段代码,最好是一个函数库,在petalinux中高速读写连接到ARM的usb口尽可能。

看来您正在尝试做一些非常复杂的事情。 首先,我想说 USB 不是某种可以读取数据的端口 "byte after byte",就像串行或并行端口一样。

我建议您先阅读有关 USB 2.0 和 EHCI 的文档(这需要一些时间)。此外,您需要知道您的开发板是哪种类型的 USB - 是主机 USB 类型还是设备 USB 类型?如果是 USB 设备类型——您可能需要为该板编写自己的驱动程序并将其连接到某个 USB 主机(例如 PC)。然后您需要通过 USB 创建一些通信协议。幸运的是,在 PC 端,您可以为此使用 libusb 库。我的意思是你需要编写使用 libusb 库与你的板进行通信的程序。

有很多工作要做。