1

我正在使用需要以下 USB 功能的 LPC1788 开发产品:

  • 固件下载(从主机 PC 到设备,而不是通过 USB 密钥)。
  • 文件上传(从设备到主机)。
  • 理想情况下,我们还可以从设备中获取一些信息,例如序列号等。

该设备应仅与自定义 Windows 应用程序一起使用,因此仅按原样使用大容量存储设备是行不通的。有相当多的数据要上传(200MB +),所以使用 USB 批量传输对我来说似乎是必要的。

解决这个问题的最佳方法是什么?我想我需要创建某种 USB 复合设备(?)。但是,我希望使用 nxpUSBlib 或 winUSB,这样我就不必通过 Windows 驱动程序验证过程......我有什么选择?也许有什么方法可以让大容量存储设备对 Windows 不可见?

谢谢!

短剑

4

1 回答 1

0

我认为您肯定会想要使用特定于供应商的批量设备,并且您可以轻松地使用 WinUSB 完成所有这些操作。对于您在此处指定的所有内容,这应该足够了。

对于您的固件加载程序,我建议您查看DFU(设备固件更新)规范。您可能希望为您的设备创建一些命令,发送时会导致它重新枚举到 DFU 模式以进行更新(而不是始终暴露的复合设备 - 这限制了在您使用时另一个接口正在使用的问题'正在闪烁你的设备)。然后您可以刷新它并重置它,以便它再次作为您的供应商特定的大容量设备重新枚举。

我不建议使用大容量存储,根据您的要求,最好实现自己的协议并创建一些使用 WinUSB API 与您的设备通信的应用程序或 DLL,包括固件更新。

于 2014-05-26T03:07:54.313 回答