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.

[参考译文] Linux:在 USB 外设引导模式下、DFU 失败

Guru**** 2616675 points

Other Parts Discussed in Thread: AM5718, AM4377

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/648065/linux-dfu-fails-in-usb-peripheral-boot-mode

主题中讨论的其他器件:AM5718AM4377

工具/软件:Linux

您好 TI:

我们希望将 u-boot 下载到 AM5718上的空 eMMC。

我们遵循以下 SOP。

构建 u-boot-spl.img 并执行以下操作。

sudo ./usbboot-stand-alone -S u-boot-spl.bin
sudo ./DFU-util c 1 -i 0 -a 0 -D "u-boot.img"-R

执行./dfu-util c 1 -i 0 -a 0 -D "u-boot.img"-R 后、我们看不到 u-boot up。

我们也无法输入任何命令。

您能帮助检查根本原因吗?

e2e.ti.com/.../host.log

e2e.ti.com/.../uart.log

Darkhou

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    电源
    我们遵循以下 SOP。
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为什么选择 u-boot-spl.bin? 这仅用于 UART 引导。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    高 Biser:
    AM5718支持完整的 USB 下载
    SOP 如下所示。
    它应该能够从 SPL-DFU 启动 u-boot。
    但我们未能遵循 SOP。

    SOP:
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    DRA7x/AM57x 上的 USB 外设引导模式(支持 SPL-DFU)

    USB 外设引导模式用于通过使用 SPL-DFU 功能的 USB 接口引导 DRA7x EVM。 在电路板支持 USB 外设引导模式的 AM57x SoC 上可以使用相同的步骤。

    在 u-boot 中启用 SPL-DFU 功能并构建 MLO/u-boot 二进制文件。
    使用 DFU-util 从主机 PC 加载 MLO 和 u-boot.img。
    u-boot 启动后、使用 u-boot 中的 DFU 命令将主机 PC 中的二进制映像(使用 DFU-utils 工具)刷写到 eMMC、或将 QSPI 刷写到全新/出厂电路板。

    此处提供的示例适用于 dra7xx 平台。

    使用默认的"dra7xx_EVM_defconfig"来构建 spl/u-boot-spl.bin、u-boot.img。

    host$ make dra7xx_evm_defconfig
    host$ make menuconfig

    选择 SPL/DFU 支持
    menuconfig->SPL/TPL--->

    [*]支持从 RAM 引导
    [*]支持 USB 小工具驱动程序
    []支持 USB 以太网驱动程序
    [*]支持 DFU (器件固件升级)
    DFU 器件选择(RAM 器件)-->

    取消选择 CONFIG_hush_parser
    menuconfig-->命令行界面
    [*]支持 U-boot 命令
    []使用 hush shell

    生成 spl/u-boot-spl.bin 和 u-boot.img

    Host$制造

    将 SYSBOOT SW2开关设置为 USB 外设引导模式

    SW2[7..0]= 00010000 (有关各种引导顺序、请参阅 TRM)

    通过 USB 电缆将 EVM 超高速端口(USB1端口)连接到 PC (Ubuntu)。
    从 Ubuntu (或主机) PC 获取并构建 usbboot 应用程序。 处理器 SDK 中可能已经提供了适用于特定发行版的 usbboot 预构建二进制文件。 下面是构建 usbboot 应用程序的步骤。

    host$ git 克隆 git://git.omapzoom.org/repo/omapboot.git
    HOST$ CD omapboot
    host$结账609ac271d9f89b51c133fd829dc77e8af4e7b67e
    host$ make -C host/tools

    这会导致主机端工具被称为 usbboot-stand-alone

    要将 spl/u-boot-spl.bin 加载到 EVM、请发出以下命令并重置电路板。

    host$ sudo usbboot-stand-alone -S spl/u-boot-spl.bin

    将 u-boot.img 加载到 RAM 中。

    host$ sudo dfu-util -l

    找到 DFU:[0451:d022] devnum=0、cfg=1、intf=0、alt=0、name="kernel"
    找到 DFU:[0451:d022] devnum=0、cfg=1、intf=0、alt=1、name="FDT"
    找到 DFU:[0451:d022] devnum=0、cfg=1、intf=0、alt=2、name="ramdisk"

    host$ sudo dfu-util c 1 -i 0 -a 0 -D "u-boot.img"-R

    现在、EVM 将引导至 u-boot 提示符。

    最佳注册
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请检查以下链接是否有帮助。

    training.ti.com/am57x-dra7x-dfu-boot-mode-with-linux-host
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它不能解决我的问题。
    我遵循 SOP。
    但是、当我执行 sudo dfu-util c 1 -i 0 -a 0 -D "u-boot.img"-R 时
    u-boot 映像无法在目标上运行。
    我不知道为什么。
    Darkhou
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定下载的 u-boot.img 为何不能在电路板上运行。 但是、将您的主机日志与上面我提到的链接中的视频进行比较、您的 DFU-util 版本是 v0.9、但视频中使用的版本是 v0.5、它随 Ubuntu v14.04一起提供。

    您的主机日志包含以下消息、但参考视频没有。 我想知道这是不是因为工具版本。 是否可以使用 Ubuntu 14.04主机 PC 进行测试?

    DFU-util:无效的 DFU 后缀签名
    DFU-util:未来的 DFU-util 版本中将需要有效的 DFU 后缀!!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否已获得 Ubuntu 14.04 (或 DFU-util v0.5)的测试结果?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    还没有、

    我们稍后将对其进行测试

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

    您好、Bin、

    我在 IDK-AM4377上尝试同样的方法、即使用 DFU 刷写 QSPI 上的二进制文件。
    您能告诉我如何将电路板置于 USB 引导模式、因为我这里没有跳线设置。请参阅您的教程- https://training.ti.com/am57x-dra7x-dfu-boot-mode-with-linux-host

    Br、Abhinav

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

    Abhinav、

    我认为 AM4377 ROM 不支持 DFU。 您提到的教程视频不适用于 AM437x。

    顺便说一下、当您有新的查询时、请打开一个新的论坛主题帖、这样会将其暴露给更广泛的受众、这样您就能快速得到响应。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Bi 的快速回复。 我需要对这一问题作出快速反应,这就是为什么对这一讨论发表评论。尽管创建了两个新的讨论。请分享您的观点

    e2e.ti.com/.../660645

    e2e.ti.com/.../660644

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

    我回答了两个新主题。 如果您有其他问题、请更新这些问题。 我要关闭此主题。