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.

[参考译文] AM62A7:U-Boot 无法通过定制 AM62A7 板上的 DFU 加载到 RAM 中

Guru**** 2535150 points
Other Parts Discussed in Thread: AM62A7, AM625, SK-AM62-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551407/am62a7-u-boot-fails-to-load-into-ram-via-dfu-on-custom-am62a7-board

器件型号:AM62A7
Thread 中讨论的其他器件: AM625SK-AM62-LP

工具/软件:

我将使用 AM62Ax EVM 的预编译二进制文件在定制 AM62A7 电路板上测试 U-Boot DFU 刷写。

我们的电路板基于 EVM 设计、但不包含 Devkit 上的 EEPROM。 刷写顺序为:

sudo dfu-util -R -a bootloader -d 0451:6165 -D tiboot3.bin
sudo dfu-util -R -a tispl.bin  -d 0451:6165 -D tispl.bin
sudo dfu-util -R -a u-boot.img -d 0451:6165 -D u-boot.img  #<--此处发生故障

UART 日志:

U-Boot SPL 2021.01 (Aug 08 2023 - 15:09:16 +0530)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
am62a_init: board_init_f done
am62a_init: spl_boot_device: devstat = 0x4cb bootmedia = 0xa bootindex = 1
Trying to boot from DFU
####DOWNLOAD ... OK
Ctrl+C to exit ...
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices


U-Boot 2021.01 (Aug 08 2023 - 15:09:16 +0530)

SoC:   AM62AX SR1.0 HS-FS
Model: Texas Instruments AM62A7 SK
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed 1
DRAM:  4 GiB
"Synchronous Abort" handler, esr 0x96000018
elr: 00000000808229e0 lr : 0000000080822f90 (reloc)
elr: 00000000fff169e0 lr : 00000000fff16f90
x0 : 00000000ffef4000 x1 : 0000000000000008
x2 : 00000000fffc9180 x3 : 00000000fffc9170
x4 : 00000000fded6020 x5 : 0000000000000015
x6 : 0000000000000000 x7 : 00000000fdec9f58
x8 : 0000000000000002 x9 : 0000000000000008
x10: 0000000000000294 x11: 00000000fdec9c0c
x12: 000000000000024c x13: 00000000fdec9ccc
x14: 00000000fdeca2b0 x15: 00000000fdeca2b0
x16: 00000000fff4641c x17: 0000000000000000
x18: 00000000fded3df0 x19: 0000000000000040
x20: 00000000fffc90f0 x21: 0000000000000001
x22: 00000000fffcfaf0 x23: 00000000fdec9ea8
x24: 00000000fdec9f58 x25: 0000000000000000
x26: 00000000fded6040 x27: 00000000fffb30d6
x28: 00000000fded6330 x29: 00000000fdec9d60

Code: 11000422 531f7842 8b22ce82 d1004043 (f9400440)
Resetting CPU ...


此致、

FA

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

    您好、

    您能否在此处附加 DDR 配置? 我怀疑这可能是由于错误的 DDR 配置造成的、  您能否确认是否使用了 DDR Config 工具为定制电路板生成 DDR 配置并将其集成到 U-Boot 中?

    此致、

    会面。

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

    尊敬的会议:

    我目前正在使用k3-am62a-ddr-1866mhz-32bit.dtsi AM62Ax EVM 中预编译的、尚未生成自定义 DDR 配置。 我无法将文件的原始扩展名附加到、因此我将其重命名为.txt

    此致、

    FA

    e2e.ti.com/.../k3_2D00_am62a_2D00_ddr_2D00_1866mhz_2D00_32bit.txt

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

    您好、

    您可以使用 DDR 配置工具根据您的自定义要求生成 DDR 配置: https://dev.ti.com/sysconfig/#/config/?args=--product%20%2Fmnt%2Ftirex-content%2FProcessor_DDR_Config_0.10.32.0000%2F.metadata%2Fproduct.json%20--device%20AM62Ax

    此致、

    会面。

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

    尊敬的会议:

    让我尝试在下面更详细地解释这个问题。

    我正在准备通过 DFU 从 RAM 引导。

    我之前发布的日志是使用原始预编译的 EVM 二进制文件获取的。 相反、当我尝试使用我在 SPRADD1A–2023 年 8 月–2024 年 9 月修订(根据 AM62A7 进行了调整)之后构建的第一个 DFU (RAM) 集时、我甚至无法传输第一个映像 (tiboot3.bin)—请参阅以下日志。

    我还尝试使用 DDR 配置工具(通过您的链接)生成自定义.dtsi (k3-am62a-ddr-1866MHz-32bit.dtsi);得到的结果与下面日志中的结果相同。 在我们的定制硬件上、我们使用的 RAM 与 EVM 上的 RAM 完全相同 (MT53E1G32D2FW-046 AUT:B)。

    问题:

    是否有与 SPRADD1A 等效的 AM62A7 特定文档、或者我们是否应遵循适用于 AM62Ax 的 SPRADD1A(包括 AM625 示例)?

    在源代码 (SDK Linux 10.01) 中、它在哪里选择了我们是构建 dfu-to-RAM“第一组“的二进制文件、还是构建用于刷写的“第二组“(例如 eMMC)? 是否有说明差异和每种配置正确的文档?

    日志:

    日志 1 — 用于通过 DFU 将引导加载程序二进制文件推送到 RAM 的主机命令:

    $ dfu-util --list

    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Found DFU: [0451:6165] ver=0200, devnum=78, cfg=1, intf=0, path="1-9.1.3.3", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=78, cfg=1, intf=0, path="1-9.1.3.3", alt=0, name="bootloader", serial="01.00.00.00"


    $ sudo dfu-util -R -a bootloader -d 0451:6165 -D tiboot3.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    dfu-util: Warning: Invalid DFU suffix signature
    dfu-util: A valid DFU suffix will be required in a future dfu-util release
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #0 ...
    Determining device status...
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from PC to DFU device
    Download    [=========================] 100%       330097 bytes
    Download done.
    DFU state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
    dfu-util: unable to read DFU status after completion (LIBUSB_ERROR_TIMEOUT)


    日志 2 — 来自自定义硬件的 UART 错误:
    U-Boot SPL 2024.04 (Aug 14 2025 - 13:21:19 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 13568 bytes
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###


    此致、

    FA

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

    您好、

    我们有以下常见问题解答、其中介绍了使用 DFU 刷写 eMMC  的过程:【常见问题解答】SK-AM62:如何在 AM62x-SK E2 上使用 USB DFU 刷写 eMMC 

    这适用于 AM62x、但也适用于 AM62A。

    请告诉我、此处描述的步骤是否适合您。

    此致、

    会面。

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

    尊敬的会议:

    感谢您的指导、我们能够通过 DFU 进入 U-Boot。 然而,不幸的是,它几秒钟后崩溃,并变得没有响应。

    我们正在为 AM62A7 设计一个最小 DTS、但即使这样做无法加载。 刷写 tiboot3.bin 后、DFU 上传将丢弃。

    您知道是否有有关 AM62A7 的官方最小 DTS 示例? 我在示例中发现的唯一问题似乎是 AM625。

    此致、
    FA

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

    您好、

    但是、不幸的是、它在几秒钟后崩溃、变得没有响应。

    请分享此接口的 UART 端口的刷写日志。

    您知道是否有适用于 AM62A7 的官方最低 DTS 示例? 我在示例中发现的唯一问题似乎是 AM625。
    [/报价]

    我将联系我们的 u-boot 专家进行检查并告诉您。

    此致、

    会面。

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

    尊敬的会议:

    以下是通过 DFU 进行刷写时我们在定制 AM62A7 硬件上得到的完整 U-Boot 日志:

    U-Boot SPL 2024.04-g27c6704a-dirty (Sep 09 2025 - 10:15:32 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 13568 bytes
    Trying to boot from DFU
    ########################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    init_env from device 10 not supported!
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    
    U-Boot SPL 2024.04-g27c6704a-dirty (Sep 09 2025 - 10:16:28 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    Trying to boot from DFU
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-g27c6704a-dirty (Sep 09 2025 - 10:16:28 +0200)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: AM62A7 MIN (UART+DFU+SD)
    DRAM:  2 GiB
    Core:  51 devices, 26 uclasses, devicetree: separate
    MMC:   mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0 
    =>


    我们目前正在调查我们观察到的间歇性冻结是否与 PMIC 配置或其初始化有关。 作为参考、与 SK-AM62-LP Devkit 相比、我还在地址 0x48 处连接了我们定制电路板 PMIC 的 I²C Ω 转储。

    -自定义硬件 PMIC i2c 转储:

    => i2c dev 0
    Setting bus to 0
    => i2c md 0x48 0x00 0x100
    0000: 00 9a 11 05 33 2b 22 2b 32 28 31 2b 31 1b 41 2d    ....3+"+2(1+1.A-
    0010: 2d 2d fd fd 73 73 b2 b2 1b 1b 1b 24 24 22 02 33    --..ss.....$$".3
    0020: 33 00 00 f4 38 12 38 24 24 24 24 20 7f 00 00 00    3...8.8$$$$ ....
    0030: 00 20 40 ba 01 1a 18 2a 6a 1a 1a 1a 19 08 00 fc    . @....*j.......
    0040: 0d 55 75 01 2d 01 55 50 00 00 00 00 00 00 00 ff    .Uu.-.UP........
    0050: ff 3f 11 02 30 00 00 01 08 07 10 00 00 00 00 00    .?..0...........
    0060: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00    ................
    0070: 00 00 00 02 00 00 00 00 55 01 55 99 00 43 00 00    ........U.U..C..
    0080: 00 09 02 00 0f 00 00 00 00 00 00 0b ff ff 00 00    ................
    0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00a0: 00 00 00 80 00 00 08 00 00 00 00 00 00 00 00 00    ................
    00b0: 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00    ................
    00c0: 00 00 00 e0 80 00 00 00 00 00 00 00 00 00 00 00    ................
    00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00f0: 69 1d c2 eb 44 24 5e 71 bc 87 17 7c 00 00 f0 c2    i...D$^q...|....



    - Devkit SK-am62-LP i2c 转储:

    => i2c dev 0
    Setting bus to 0
    => i2c md 0x48 0x00 0x100
    0000: 00 9a 11 04 33 2b 22 2b 32 28 31 2b 31 1b 41 2d    ....3+"+2(1+1.A-
    0010: 2d 2d fd fd 73 73 b2 b2 1b 1b 1b 24 24 33 02 33    --..ss.....$$3.3
    0020: 33 00 00 f4 38 12 38 24 24 24 24 20 3f 00 00 00    3...8.8$$$$ ?...
    0030: 00 20 40 ba 01 1a 18 2a 6a 1a 1a 1a 19 08 00 fc    . @....*j.......
    0040: 0c 55 75 01 2d 01 55 50 00 00 00 00 00 00 00 ff    .Uu.-.UP........
    0050: ff 3f 11 02 30 00 00 01 08 07 10 00 00 00 00 00    .?..0...........
    0060: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00    ................
    0070: 00 00 00 02 00 00 00 00 55 01 55 99 00 43 00 00    ........U.U..C..
    0080: 00 09 02 00 0f 00 00 00 00 00 00 0b ff ff 00 00    ................
    0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00a0: 00 00 00 80 00 00 08 00 00 00 00 00 00 00 00 00    ................
    00b0: 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00    ................
    00c0: 00 00 00 e0 80 00 00 00 00 00 00 00 00 00 00 00    ................
    00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00f0: ff bf 54 49 bb ba 5e 71 bc 87 17 7c 00 00 da b5    ..TI..^q...|....


    乍一看、我们的定制电路板和 Devkit 之间的寄存器值有一些差异。 PMIC 设置或配置的这些差异能否可能解释 DFU 引导后出现的冻结问题?

    此致、
    FA

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

    您好、

    我们目前正在调查我们观察到的间歇性冻结是否与 PMIC 配置或其初始化相关

    让我将其路由给另一位专家、他可以帮助我们回顾这一点。

    此致、

    会面。

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

    您好、Fa、

    您能否指定要使用的 PMIC?  

    启动初始化序列之后、是否在 U-Boot 中配置 PMIC? 请共享用于 U-Boot 的器件树。

    是否也在定制硬件或 TI EVM 上观察到冻结?

    谢谢、

    Anshu