0

我正在为 LPC4330 微控制器编写一个应用程序,它允许用户使用 USB DFU 类更新固件。我编写了所有代码,并想使用 dfu-util 软件对其进行测试。但是当我尝试这样做时,会出现一些错误:

  1. 当我列出 USB 设备时,会出现两个具有相同参数(供应商 ID、设备 ID、配置和接口)的元素。当我在应用程序中创建断点时,情况发生了变化,在中断处理函数被调用的地方。然后只有一台设备出现在列表中。

  2. 我无法分离设备,因为我收到错误“没有 USB 设备支持 DFU”。即使 dfu-util 仅列出了一台设备。

  3. 当仅列出一个设备时,我可以开始执行上传/下载操作,但应用程序向我发送错误,无法声明该接口。

这些问题的原因可能是什么?它可以与 LPC4330 功能连接,允许用户使用 dfu 将程序闪存到内存中吗?

预先感谢您的回答!

4

1 回答 1

0

您编写自己的 DFU 很好。我可以知道您尝试从哪种模式进行固件升级吗?就像下游或上游一样。

如果您尝试使用任何一种模式,请确保您只为特定模式创建设备。

仅当您的 DFU 应处于运行时模式时,分离才会起作用。所以请确保您处于运行时模式或 DFU 模式。在分离之前尝试使用软件命令重置您的设备

于 2017-03-22T00:39:20.800 回答