嵌入式MCU的USB设备设计

时间:2014-05-22 22:13:26

标签: embedded usb lpc winusb

我正在开发一款带有LPC1788的产品,该产品需要以下USB功能:

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

该设备应仅适用于自定义Windows应用程序,因此只需按原样使用大容量存储设备即可。有很多数据需要上传(200MB +),因此使用USB批量传输对我来说似乎是必要的。

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

谢谢!

德克

1 个答案:

答案 0 :(得分:0)

我认为您肯定希望使用特定于供应商的批量设备,并且您可以轻松地将WinUSB用于所有这些。这应该足以满足您在此处指定的所有内容。

对于您的固件加载器,我建议您查看DFU (device firmware update) specification。您可能希望为您的设备发出一些命令,当它被发送时将使其重新枚举到DFU模式以进行更新(而不是总是暴露的复合设备 - 这限制了正在使用的其他接口的问题当你正在闪烁你的设备时)。然后,您可以将其闪存并重置,以便重新枚举为供应商特定的批量设备。

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

相关问题