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.

[参考译文] DFU-AM243X:MCU-PLUS-SDK 工具中的引导加载程序

Guru**** 2465890 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1459121/mcu-plus-sdk-am243x-bootloader-from-dfu-tool

器件型号:MCU-PLUS-SDK AM243X

工具与软件:

团队成员好

我正在 AM243x EVM 板上进行测试。

我使用 DFU 引导加载程序初始化 SoC 并将固件加载到 RAM。  然后通过 NI VISA 与 SoC USB 通信。

我已经安装了 NI VISA 工具、并且 SoC 的 DFU USB 端口可以在 Device Manager 中被识别。

但在执行 DFU 引导加载程序后、USB 控制在设备管理器中消失、NI VISA 也无法与 USB 通信。

我需要知道是否有解决方案可以在 DFU 引导加载程序之后保留 USB 控制、而无需下电上电或热复位 Soc.

谢谢。

谢谢、此致

郝(王浩)

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

    您好、郝

    您能否确认您是否 为此使用 SBL DFU、如果是、请告诉我您正在使用哪个 SBL 映像和哪个应用程序映像。 此外、请附加 UART 日志(如果可用)。

    此致、

    开会。

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

    开会

    我将 SBL DFU 用于它。 正在使用的文件为 sbl_dfu.release.hs_fs.tiimage。

    在执行之前、可以在设备管理器中看到 AM64x DFU。

    便消失了。

    CMD 日志为:

    我需要确定如何在 DFU 执行后将控制返回 USB。

    谢谢。

    谢谢、 此致

    郝(王浩)

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

    您好、郝

    您能否尝试使用此命令、看看它是否有效:

    dfu-util -R -i 0 -a 0 -D{指向 SBL_DFU 的路径}并查看其是否工作。

    -R 上载或下载完成后,这里会发出 USB 重置信号。

    此致、

    开会。

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

    开会

    感谢您的答复。

    我已经尝试了命令。 也不起作用。

    我找到了根本原因。

    在运行 DFU 加载命令之前、DFU 信息为:

    运行 SBL DFU 命令后、该命令更改为:

    ID 和序列号已更改。

    我不明白 SBL DFU 做了什么。  

    我可以尝试重新创建并重新安装 INF 驱动程序来解决此问题。 然后、使设备管理器再次识别它、而不对电路板进行下电上电。

    但是、当我按照上述操作运行 DFU 命令以加载我的应用映像时、例如示例库中的 Hello World 映像。

    DFU 器件在设备管理器中消失、不能通过重新安装来调用、除非对 EVM 板进行下电上电。

    DFU 加载命令似乎无法第二次运行、这会使 DFU 器件无法被器件管理器识别。

    这不是我所期望的、我需要通过 SBL DFU 引导 SoC、然后加载应用映像、而无需对电路板进行下电上电。

    由于我的定制电路板中没有闪存、因此我必须在每次上电期间引导 SoC 并通过 USB DFU 将我的固件加载到 RAM、然后通过程序中的 USB 端口与 SoC 进行通信。

    因此、实现 上述负载要求对我很重要。

    感谢您提供任何建议。

    谢谢。

    谢谢、此致

    郝(王浩)   

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

    您好、郝

    我将尝试在我结束时进行测试、并告诉您我是否可以重现此示例。

    此致、

    开会。

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

    开会

    我能知道是否有这方面的更新吗?

    谢谢。

    谢谢、此致

    郝(王浩)

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

    您好!

    运行 SBL DFU 命令后、该命令将更改为:

    之后、您只需要发送应用程序映像。 SBL DFU 将接收和启动映像。 如果启用了 UART 日志记录、您应该会看到 UART 日志。

    此致、

    Prashant

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

    Prashant

    感谢您的响应。

    我已经尝试 运行 SBL DFU 命令、然后按照您的建议发送应用程序映像。

    在使用 SBL DFU 命令之前、可以找到 DFU。

    SBL DFU 和加载映像的日志如下所示。

    这看起来是成功的负荷。

    但是当运行 dfu-uitl --list 时,dfu 消失了。

    负载后无法通过 USB DFU 对 SoC 进行通信。

    如果您可以在上面重现错误、您能帮助识别该错误吗?

    谢谢。

    谢谢、此致

    郝(王浩)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="61147" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1459121/mcu-plus-sdk-am243x-bootloader-from-dfu-tool/5642088 #5642088"]

    这看起来是成功的负荷。

    但是当运行 dfu-uitl --list 时,dfu 消失了。

    [报价]

    这是预期行为。

    SBL DFU 是一款引导加载程序、可通过 DFU 加载单个 appimage 并对其进行引导。 因此、在通过 DFU 发送"Hw.appimage"后、SBL DFU 会引导 appimage、因此您不会再次看到"dfu-util -l "的任何内容。

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

    Prashant

    我将使用 USB DFU 函数与应用中的 SoC 进行通信。

    除了对 SoC 进行下电上电之外、是否有办法在负载后再次识别 DFU?

    我认为、如果用户在应用中需要使用 USB 类的功能并将 USB 电缆连接到定制电路板、这并不是很合理。

    如果我的定制板中没有闪存、则需要在每次上电时将固件加载到 RAM、这会是一个错误。

    我已尝试通过命令重置 DFU、但无法正常工作。

    您能分享一下好的解决方案吗?

    谢谢。

    谢谢、此致

    郝(王浩)

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

    USB DFU 仅用于一次刷写。 遗憾的是、启动映像后、除非我们对 SoC 进行下电上电、否则无法再次使用它。