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.

[参考译文] AM62D-Q1:AM62D EVM — 独立 U-Boot 构建失败、出现 DDR 初始化错误、预构建的 SDK 映像引导成功

Guru**** 2964790 points

Other Parts Discussed in Thread: AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1658223/am62d-q1-am62d-evm---standalone-u-boot-build-fails-with-ddr-initialization-errors-prebuilt-sdk-images-boot-successfully

器件型号: AM62D-Q1
主题: AM62A7 中讨论的其他器件

我们正在使用 Processor SDK Linux 12_00_07_04 来处理 AM62D EVM。 SDK 提供的预编译引导二进制文件在电路板上成功引导;但是、当我们从独立 SDK 源重新编译 U-Boot 并刷写生成的二进制文件时、SPL 中的 DDR 初始化期间引导会失败。 您能否提供针对 AM62D EVM 的推荐独立构建过程、并确认是否需要任何其他 DDR 固件文件、电路板配置文件、binman 输入或特定的构建步骤才能重现 SDK 生成的启动二进制文件?

使用的构建命令:

make ARCH=arm CROSS_COMPILE=/opt/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi- am62dx_evm_r5_defconfig O=$UBOOT_DIR/out/r5

make ARCH=arm CROSS_COMPILE=/opt/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi- O=$UBOOT_DIR/out/r5 BINMAN_INDIRS=$PREBUILT_IMAGES

错误日志:

U-Boot SPL 2026.01-00340-g2549829cc194-dirty (Jun 24 2026 - 18:33:24 +0530)
SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
Error reading PI data
Error reading PHY data -1
Timeout during frequency handshake
### ERROR ### Please RESET the board ###

作为参考、SDK 提供的预编译二进制文件在同一硬件上成功引导、并在 SPL 之外继续运行、而不会出现任何与 DDR 相关的错误。

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

     Suman Shetty  能否 pie 在 build 命令中添加“KBUILD_LDFLAGS=“-no-CLA“并尝试一下。

    有关更多详细信息、请参阅 https://github.com/TexasInstruments/ti-tisdk-makefile/commit/28ec63c59a41013f2603aaf7afa889f87a37e21c 

    make arch=arm cross_compile=/opt/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi- am62dx_evm_r5_defconfig O=$UBOOT_DIR/OUT/R5

    make arch=arm cross_compile=/opt/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi- O=$uBoot_DIR/OUT/R5 BINMAN_INDIRS=$prebuilt_images KBUILD_LDFLAGS=“-no-CD“ pie

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

    谢谢你。 应用建议的更改后、DDR 初始化问题将得到解决、电路板现在正在经历 DDR 训练并成功启动 ATF。

    但是、我们现在在第二级 SPL 启动期间遇到了另一个问题。 引导日志如下所示:

    U-Boot SPL 2026.01-00340-g2549829cc194-dirty (Jun 26 2026 - 16:15:03 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
    Set clock rates for '/a53@0', CPU: 1250MHz at Speed Grade 'T'
    SPL initial stack usage: 13568 bytes
    Trying to boot from MMC2
    Fallback to backup bootmode MMCSD_MODE_FS
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.14.0(release):sandbox/v2.14-472-g76500ceae
    NOTICE:  BL31: Built : 05:35:47, Jun 26 2026
    
    U-Boot SPL 2026.01-00340-g2549829cc194-dirty (Jun 26 2026 - 19:33:51 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
    DM ABI: 3.0 (firmware ver 0x000c 'MSDK.12.00.00.09--v12.00.02' patch_ver: 2)
    Trying to boot from MMC2
    Fallback to backup bootmode MMCSD_MODE_FS
    Partition 1 invalid on device 1
    spl_register_fat_device: fat register err - -1
    spl_load_image_fat: error reading image u-boot.img, err - -1
    Error: -1
    SPL: Unsupported Boot Device!
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    我们使用的 SD 卡设置和分区布局与 SDK 提供的预编译二进制文件正常配合使用。

    您能否告知独立编译可能需要哪些额外配置? 是否有任何其他信息、调试日志、映像比较或配置文件可帮助确定在 SDK 生成的二进制文件成功启动时独立构建的二进制文件在此阶段失败的原因?

    作为参考、我们随附了板级配置文件和环境配置 used.e2e.ti.com/.../QUERY.zip

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

    你好、 Suman Shetty 

    不确定您要如何构建。 您是否可以使用 make u-boot 并从 SDK 中自行创建 u-boot_install?
    请 使用顶级 makefile 或从中参考。 以下是两个命令:

    生成 u-boot

    make u-boot_install DESTDIR=

    我们尝试了这个自己,它的工作。

    U-Boot SPL 2026.01-g2549829cc194 (2026 年 6 月 27 日 — 10:56:15 +0530)

    SYSFW ABI:4.0(固件版本 0x000c “12.0.2--v12.00.02 (Smart Cat)“)

    为'/A53@0'设置时钟速率、CPU:速度等级'T'下的 1250MHz

    SPL 初始栈使用量:13568 字节

    尝试从 MMC2 引导

    身份验证已通过

    身份验证已通过

    身份验证已通过

    身份验证已通过

    身份验证已通过

    在 ARM64 内核上启动 ATF……

    通知:BL31:v2.14.0(发行版):sandbox/v2.14-472-g76500ceaee

    注意:BL31:建造时间:11:33:22,二月 2 2026

    U-Boot SPL 2026.01-g2549829cc194 (2026 年 6 月 27 日 — 10:56:29 +0530)

    SYSFW ABI:4.0(固件版本 0x000c “12.0.2--v12.00.02 (Smart Cat)“)

    DM ABI:3.0(固件版本 0x000c 'SDK.12.00.00.09--v12.00.02' patch_ver:2)

    尝试从 MMC2 引导

    身份验证已通过

    身份验证已通过

    U-Boot 2026.01-g2549829cc194 (2026 年 6 月 27 日 — 10:56:29 +0530)

    SoC:AM62AX SR1.0 HS-SOC FS

    型号:Texas Instruments AM62D2 EVM

    DRAM:2 GiB(共 4 GiB)

    内核:101 个器件、33 个类、器件树:单独

    MMC:MMC@fa10000:0、MMC@fa00000:1

    从无处加载环境... 好的

    IN:serial@2800000

    输出:串行@2800000

    错误:serial@2800000

    NET:eth0:以太网@8000000port@1 不能获取 MDIO@f00 的 PHY:地址 3

    am65_cpsw_Nuss_port Ethernet@8000000port@2:phy_connect () 失败

    按任意键停止自动引导:0

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

    感谢您的检查。

    我们在 AM62D EVM 上没有看到该问题。 该问题仅在基于 AM62D 的定制电路板上观察到。

    我们使用 SDK 生成的 .wic 映像来创建 SD 卡(引导和 rootfs 分区)。 重建 U-Boot 后、我们只替换 tiboot3.bin tispl.bin u-boot.img 引导分区中的、和。

    您能否确认这是否是正确的过程、或者是否还需要更新任何其他文件?

    我们发现的失败是:

    U-Boot SPL 2026.01-00340-g2549829cc194-Dirty (2026 年 6 月 26 日 — 19:33:51 +0530)
    SYSFW ABI:4.0(固件版本 0x000c “12.0.2--v12.00.02 (Smart Cat)“)
    DM ABI:3.0(固件版本 0x000c 'SDK.12.00.00.09--v12.00.02' patch_ver:2)
    尝试从 MMC2 引导
    回退到备份引导模式 MMCSD_MODE_FS
    设备 1 上的分区 1 无效
    SPL_REGISTER_FAT_DEVICE:FAT 寄存器错误-–1
    SPL_load_image_fat:读取映像 u-boot.img 时出错、err -–1
    错误:–1
    SPL:不支持的引导设备!
    SPL:无法从所有引导设备引导

    ###错误###请重置主板###

    我们还注意到、论坛上涉及“回退到备份引导模式 MMCSD_MODE_FS“消息的类似报告。

    回退是否 MMCSD_MODE_FS 与此问题的根本原因有关? 由于同一 SD 卡使用 SDK 生成的二进制文件成功启动、因此我们想了解导致我们的定制电路板上出现此行为的原因、以及是否应检查任何其他引导加载程序、分区或配置依赖项。

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

    你好、 Suman Shetty 
    能否请检查 devstat 值、对于您的定制板、devstat 可能设置不正确。

    文件:arm/mach-k3/am62ax/am62a7_init.c  

    功能: SPL_MMC_BOOT_MODE

    记录定制电路板和 EVM 的 devstat 值和共享