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/AM5728:无法使用 DFU 刷写 eMMC

Guru**** 2589265 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588344/linux-am5728-unable-to-flash-emmc-using-dfu

器件型号:AM5728

工具/软件:Linux

我们正在尝试使用 USB 外设引导模式从 Ubuntu 主机 PC 刷写基于 am5728的电路板的 eMMC。  我们将使用 U-boot 2016.05。

1) 1)如何配置 u-boot、以便在执行 DFU-util -l 时提供更多支持 DFU 的器件(请参阅下面的步骤2)?
2) 2)下载 u-boot.img 并目标控制台以"Ctrl+C 退出..."进行响应后应执行的操作 (请参阅下面的步骤3)?  按 Ctrl+C 不执行任何操作。
3) 3)是否可以忽略消息"无效的 DFU 后缀签名"(请参阅下面的步骤3)?
4) 4) MLO 和 u-boot.img 能否通过 DFU-util 直接写入 eMMC?

以下是事件的顺序:

##############################
1)
[Ubuntu PC]
usbboot -S u-boot-spl.bin

读取 ASIC ID
芯片:5641
ROM 次要版本:02
iDEN:00000000000000000000000000000000000000000000
MPKH:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
CRC0:51d2f9a7
CRC1:00000000
器件是 GP
正在将2ndStage 发送到目标...

[目标控制台]
U-Boot SPL 2016.05-00304-g323Bf10脏污(2017年4月12日- 11:57:56)

DRA752-GP ES1.1
从 USB DFU 引导
使用默认环境

2)  
[Ubuntu PC]
DFU-util -l

DFU-util 0.8

版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2014 Tormod Volden 和 Stefan Schmidt
此计划是免费软件、绝对不提供保修
请向 dfu-util@lists.gnumonks.org 报告错误

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

3)  
[Ubuntu PC]
dfu-util c 1 -i 0 -a 0 -D "u-boot.img"

DFU-util 0.8

版权所有2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.
版权所有2010-2014 Tormod Volden 和 Stefan Schmidt
此计划是免费软件、绝对不提供保修
请向 dfu-util@lists.gnumonks.org 报告错误

DFU-util:无效的 DFU 后缀签名
DFU-util:未来的 DFU-util 版本中将需要有效的 DFU 后缀!!
正在打开支持 DFU 的 USB 设备...
ID 0451:d022
运行时器件 DFU 版本0110
正在申请 USB DFU 接口...
正在设置备用设置#0...
确定器件状态:STATE = dfuIDLE、STATUS = 0
DfuIDLE、继续
DFU 模式器件 DFU 版本0110
器件返回的传输大小为4096
将数据从 PC 复制到 DFU 器件
下载[==================================] 100% 315120字节
下载完成。
STATE (7)= dfuMANIFEST、STATUS (0)=无错误条件存在
STATE (2)= dfuIDLE、STATUS (0)=不存在错误条件
完成!


[目标控制台]
#### 下载... 好的
按 Ctrl+C 退出...

##############################

谢谢!

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

    您是否见 过 processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Biser、我们看到了"使用 DFU 更新 SD 卡或 eMMC "。

    我们尝试使用 USB 外设引导模式进行引导、然后对 eMMC 进行编程。 下载 u-boot.img 后、目标控制台显示:
    #### 下载... 好的
    按 Ctrl+C 退出...
    但它不会执行引导加载程序或对键盘输入做出响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求软件团队查看这一点。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Biser、

    定义 debug 时、我们看到最后执行的函数为:
    image_entry (((u32 *) boot_params);
    从 arch\arm\cpu\armv7\omap-common\boot-common.c::jue_to _image_no_args

    下面是压缩的控制台输出:

    RESET_CONFIG:
    解除绑定函数'dfu'/80a80008
    G_dln_unbind:为控制器'dwc3-gadget'调用 USB_gadget_disconnect
    0
    0
    从 ep0out 请求80a9a380已完成0/0 ==>-108
    复合设置完成:设置完成-->-108,0/0
    正在取消注册小工具
    禁用时钟模块- 4a0093e0
    禁用时钟模块- 4a0093f0
    传统映像
    找不到 mkimage 签名- IH_magic = aaaaaaaaaaaa
    跳转到 U-Boot
    已加载-跳转到 U-Boot...图像入口点:0x80800000
    OMAP-SRAM_Scratch_boot_Params:0x4037DC24 <<添加了调试语句

    有什么想法吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 我已升级支持请求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser。

    我们仍然无法执行 USB 外设启动、从而最终在基于 AM5728的生产系统中对 eMMC 进行编程。 我们使用的是最新的 PROCESSOR-SDK-LINUX-AM57X 03_03_00_04。

    我们已启用 CONFIG_SPL_DFU_support 和 CONFIG_SPL_DFU_RAM、并根据此处的 Linux Core U-Boot 用户指南尝试禁用和启用 CONFIG_hush_parser:
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    TI 的某个人能否确认所需的步骤、以及您是否能够使用 USB 外设启动在基于 AM5728的系统上成功执行 u-boot 提示?

    谢谢!

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 分配此任务的人员在过去2周内出差。 我已发送新通知。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、Biser。

    值得注意的是、生成的 MLO 和 u-boot.img 映像在直接复制到具有 eMMC 和可移动 micro-SD 卡且最初通过可引导 micro-SD 卡进行配置的开发板的 eMMC 时工作正常-遗憾的是、 我们的生产板没有 micro-SD 卡。

    USB 外设引导需要 u-boot-spl.bin、这是不带标头信息的 MLO、并且 u-boot.img、正确吗?

    谢谢。

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

    [引用 USER="Wilson Perez]1)如何配置 u-boot、以便在执行 DFU-util -l 时提供更多支持 DFU 的器件(请参阅下面的步骤2)?

    uBoot 不需要任何特定配置在这种情况下、您只需将多个板连接到主机、然后多次运行'sudo usbboot -S u-boot-spl.bin'将使所有板进入 spl DFU 模式、'dfu-util -l 将列出所有板。 但是、我的 DFU-util 版本是0.5、它不支持多个支持 DFU 的器件、我不确定新版本是否支持该版本。

    2) 下载 u-boot.img 后应执行的操作,目标控制台以"Ctrl+C 退出..."进行响应 (请参阅下面的步骤3)?  按 Ctrl+C 不执行任何操作。

    您似乎错过了主机 DFU-util 命令行中的'-R'、这将在下载后重置电路板、然后您不必执行'Ctrl-C'。

    [引用用户="Wilson Perez]3)是否可以忽略消息“无效的 DFU 后缀签名”(请参阅下面的步骤3)?

    它似乎可以忽略。 我也收到了这条消息、但 DFU 运行正常。

    [引用 USER="Wilson Perez]4) MLO 和 u-boot.img 能否通过 DFU-util 直接写入 eMMC?

    我认为是这样、请访问 http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Updating_an_SD_card_or_eMMC_using_DFU

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过结合来自 am57xx 和 dra7xx 电路板的电路板/配置细节、我们最终能够使用 USB 外设模式引导至 u-boot 提示符。

    我们现在正在尝试对 eMMC 进行分区、并复制所需的 u-boot、Linux 内核和根文件系统文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很棒! 感谢您的更新。