我正在为LPC4330微控制器编写一个应用程序,允许用户使用USB DFU类更新固件。我写了所有的代码,我想用dfu-util软件测试它。但是当我尝试这样做时,很少出现错误:
当我列出USB设备时,会出现两个具有相同参数(供应商ID,设备ID,配置和界面)的元素。当我在应用程序中创建断点时,情况会发生变化,而中断过程函数被调用。然后列表中只显示一个设备。
我无法分离设备,因为我收到错误"没有USB设备支持DFU"。即使dfu-util只列出了一个设备。
当只列出一个设备时,我可以开始执行上传/下载操作,但是应用程序向我发送错误,无法声明该接口。
这些问题可能是什么原因?它是否可以与LPC4330功能连接,允许用户使用dfu将程序闪存到内存中?
提前感谢您的回答!
答案 0 :(得分:0)
你编写自己的DFU就好了。我可以了解您尝试进行固件升级的模式吗?像下游或上游。
如果您尝试使用任何一种模式,请确保仅为特定模式创建设备。
仅当您的DFU处于运行时模式时,分离才有效。因此,请确保您处于运行时模式或DFU模式。在分离之前,尝试使用软件命令重置设备