This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMDS64EVM:DFU 编程过程失败:dfu-util:can#39;t detach 重置 USB 以切换回运行时模式

Guru**** 2482225 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1447541/tmds64evm-dfu-program-process-fail-dfu-util-can-t-detach-resetting-usb-to-switch-back-to-runtime-mode

器件型号:TMDS64EVM

工具与软件:

您好、TI:

我们正在使用 TMDS64GP EVM (AM64x)并尝试使用 DFU 编程过程刷写电路板、但失败、显示错误"Dfu-util:无法分离重置 USB 以切换回运行时模式"、日志如下所示。

我们使用 DFU 版本"Dfu-util-0.11"和 SDK"ti-processor-sdk-linux-am64xx-evm-10.00.07.04"中预编译的二进制文件。

1.我们也尝试了手动编译二进制文件,但发现了同样的问题。

2.我们也在 Windows 和 Linux 机器上尝试了这个 DFU 编程过程,但发现了同样的问题

日志:

--------------------------------------------------------

d:\projects\dfu-util-0.11-binaries\win64>dfu-util.exe -l
DFU-util 0.11.

版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件、绝对没有任何担保
请将错误报告给 sourceforge.net/.../

找到 DFU:[0451:6165] ver=0200、devnum=40、cfg=1、intf=0、path="1-5"、 alt=1、name="SocId"、serial="01.00.00.00.00.00.00"
找到 DFU:[0451:6165] ver=0200、devnum=40、cfg=1、intf=0、path="1-5"、 alt=0、name="bootloader"、serial="01.00.00.00
找到运行时:[30c9:003A] ver=0006、devnum=3、cfg=1、intf=2、path="1-8"、 alt=0、name="Camera DFU Device"、serial="0001"

d:\projects\dfu-util-0.11-binaries\win64>
d:\projects\dfu-util-0.11-binaries\win64>
D:\projects\dfu-util-0.11-binaries\win64> dfu-util.exe -S 01.00.00.00 -R -a 0 -D tiboot3.bin
DFU-util 0.11.

版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
该程序是自由软件、绝对没有任何担保
请将错误报告给 sourceforge.net/.../

警告:DFU 后缀签名无效
未来的 dfu-util 版本中将需要有效的 dfu 后缀
正在打开支持 DFU 的 USB 设备...
器件 ID 0451:6165
器件 DFU 版本0110
正在声明 USB DFU 接口...
正在设置备用接口#0...
正在确定设备状态...
DFU state (2)= dfuIDLE、STATUS (0)=不存在错误条件
DFU 模式器件 DFU 版本0110
设备返回的传输大小512
将数据从 PC 复制到 DFU 器件
下载[________________====] 100% 620662字节
下载完成。
DFU STATE (6)= dfuMANIFEST-SYNC、STATUS (0)=不存在错误条件
DFU state (2)= dfuIDLE、STATUS (0)=不存在错误条件
完成!
无法分离
复位 USB 以切换回运行时模式

d:\projects\dfu-util-0.11-binaries\win64>

请告诉我们问题可能是什么、我们在此遗漏了什么。 以及如何解决此问题

谢谢!

Prathibha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    Unknown 说:
    ]找到运行时:[30c9:003A] ver=0006、devnum=3、cfg=1、intf=2、path="1-8"、 alt=0、name="Camera DFU Device"、serial="0001"[/报价]

    您可以断开连接并重试吗? 我假设这不是必需的?

    此致、

    Vaibhav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我了解"找到运行时:[30c9:003A] ver=0006、devnum=3、cfg=1、intf=2、path="1-8"、 alt=0、name="Camera DFU Device"、serial="0001""不需要  

    但在我的窗口中、默认情况下会出现该窗口。 在共享我刚刚从 Windows 计算机捕获的日志时、请检查 Linux 主机中的结果、如下所示。

    请注意:

    我要在其中尝试 DFU 编程过程的 Linux 主机、我只会得到  

    找到 DFU:[0451:6165] ver=0200、devnum=21、cfg=1、intf=0、path="1-5"、 alt=1、name="SocId"、serial="01.00.00.00.00.00.00"
    找到 DFU:[0451:6165] ver=0200、devnum=21、cfg=1、intf=0、path="1-5"、 alt=0、name="bootloader"、serial="01.00.00.00

    DFU 编程仍然失败、并显示相同的错误"无法分离 重置 USB 以切换回运行时模式"。

    注意:我们确实有一些基于 AM62x 的定制板、它们可以在相同主机上使用 DFU 编程过程正常运行。 我们仅看到 AM64x EVM 板出现的问题、

    我们将使用  SDK"ti-processor-sdk-linux-am64xx-evm-10.00.07.04"中预编译的二进制文件。 您能帮助我们找出问题所在以及解决方法吗?

    谢谢!

    Prathibha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们使用的是  SDK "ti-processor-sdk-linux-am64xx-evm-10.00.07.04"中预构建的二进制文件。 您能否帮助我们了解此处的问题及其解决方法。

    我将让另一位专家对此发表评论。

    此致、

    Vaibhav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [quote userid="409809" url="~/support/processors-group/processors/f/processors-forum/1447541/tmds64evm-dfu-program-process-fail-dfu-util-can-t-detach-resetting-usb-to-switch-back-to-runtime-mode ">D:\projects\dfu-util-0.11-binations\win64> dfu-util.exe -S 01.00.00.00 -R -a 0 -D tiboot3.bin

    如果您使用的是 GP EVM、则需要使用`tiboot3-am64x-gp-evm.bin`二进制文件。

    如果出现故障、请共享从 UART 控制台捕获的引导日志。

    BR、Prashant

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的更新、

    我们尝试使用"tiboot3-am64x-gp-evm.bin"、但仍然看到相同的错误、此外、如果我们检查 dfu-util --list、它将再次显示引导加载程序。 日志、如下所示。

    此外、即使我们尝试 n 次、也是相同的观察结果。

    日志、

    D:\projects\OSM\Tools\dfu-util-0.11-binaries\dfu-util-0.11-binaries\win64> dfu-util.exe -S 01.00.00.00 -R -A 引导加载程序-D tiboot3-am64x-gp-evm.bin
    DFU-util 0.11.

    版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
    版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
    该程序是自由软件、绝对没有任何担保
    请将错误报告给 sourceforge.net/.../

    警告:DFU 后缀签名无效
    未来的 dfu-util 版本中将需要有效的 dfu 后缀
    正在打开支持 DFU 的 USB 设备...
    器件 ID 0451:6165
    器件 DFU 版本0110
    正在声明 USB DFU 接口...
    正在设置备用接口#0...
    正在确定设备状态...
    DFU state (2)= dfuIDLE、STATUS (0)=不存在错误条件
    DFU 模式器件 DFU 版本0110
    设备返回的传输大小512
    将数据从 PC 复制到 DFU 器件
    下载[________________====] 100% 618073字节
    下载完成。
    DFU STATE (6)= dfuMANIFEST-SYNC、STATUS (0)=不存在错误条件
    DFU state (2)= dfuIDLE、STATUS (0)=不存在错误条件
    完成!
    无法分离
    复位 USB 以切换回运行时模式

    D:\projects\OSM\Tools\dfu-util-0.11-binaries\dfu-util-0.11-binaries\win64>
    D:\projects\OSM\Tools\dfu-util-0.11-binaries\dfu-util-0.11-binaries\win64>dfu-util.exe --l.
    DFU-util 0.11.

    版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
    版权所有2010-2021 Tormod Volden 和 Stefan Schmidt
    该程序是自由软件、绝对没有任何担保
    请将错误报告给 sourceforge.net/.../

    找到 DFU:[0451:6165] ver=0200、devnum=44、cfg=1、intf=0、path="1-5"、 alt=1、name="SocId"、serial="01.00.00.00.00.00.00"
    找到 DFU:[0451:6165] ver=0200、devnum=44、cfg=1、intf=0、path="1-5"、 alt=0、name="bootloader"、serial="01.00.00.00

    谢谢!

    Prathibha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、如果我们检查 dfu-util --list、它将再次显示 bootloader。

    这是意料之中的。 R5 SPL 针对 CPSW 勘误表权变措施对 SoC 进行热复位。

    如果使用 UART 或 DFU 引导模式、则需要再次重新发送 tiboot3二进制文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们在这里确定了2个问题、

    1.我们 从预编译的二进制文件中刷写了"tiboot3-am64x-gp-evm.bin"(最初加载2次)、然后还将其他映像刷写到 eMMC、

    在此过程中、器件甚至不会引导、甚至 UART 串行端口上也没有单个日志

    请告诉我们可能出现了什么问题。

    2.如果我们根据 SDK 代码编译 uboot、并尝试通过执行 DFU 编程过程来刷写、我们会收到我之前评论中的错误。 即使我们尝试 n 次、也 不会加载"tiboot3-am64x-gp-evm.bin"。

    在构建 Uboot 以支持 DFU 编程时、我需要注意什么?

    谢谢!

    Prathibha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    1.请参阅以下说明:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/10_00_07_04/exports/docs/linux/Foundational_Components U-Boot/UG-Memory.html#:~: text=to%20give%20the%20rom%20access%20to%20the%20boot%20partition

    2.请分享您从 UART 控制台构建 U-Boot 和日志所使用的命令。

    此致、

    Prashant