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.

[参考译文] AM623:使用 AM6234 SD 引导卡的定制硬件在导入后会遇到启动故障。

Guru**** 2430620 points
Other Parts Discussed in Thread: SK-AM62

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1524434/am623-custom-hardware-utilizing-am6234-sd-boot-card-encounters-startup-failure-post-import

器件型号:AM623
主题中讨论的其他器件:SK-AM62

工具/软件:

串行控制台输出:

U-Boot SPL 2025.01-00406-gcd91d7360181 (2025 年 3 月 25 日 — 16:14:37 +0000)
SYSFW ABI:4.0(固件版本 0x000b'11.0.7--v11.00.07 (Fancy Rat)')
将 DT 中的 A53 CPU 频率更改为 1250000000Hz (T 级
SPL 初始栈使用量:13424 字节
尝试从 MMC2 引导
MMC_LOAD_IMAGE_RAW_SECTOR:MMC 块读取错误
设备 1 上的分区 1 无效
SPL_REGISTER_FAT_DEVICE:FAT 寄存器错误-–1
SPL_LOAD_IMAGE_FAT:读取映像 tispl.bin 时出错、err -–1
SPL:无法从所有引导设备引导
###错误###请重置主板###

此问题的潜在原因是什么?需要执行哪些故障排除步骤来解决此问题?

谢谢!

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

    SD 卡刷写过程:

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

    您是否尝试过不同的 SD 卡、但所有 SD 卡仍然存在相同的问题?

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

    已注册两张 SD 卡 — 两张卡均失败,出现类似错误。  症状:

    此芯片组是否有任何特定的 SD 卡要求?

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

    已知某些 SD 卡出现故障、尤其是 SanDisk 32GB 卡。 在继续执行 SD 卡权变措施之前、您是否可以应用以下补丁并共享日志:

    diff --git a/arch/arm/mach-k3/am62x/boot.c b/arch/arm/mach-k3/am62x/boot.c
    index df5af9c0bce..50a4437bb4a 100644
    --- a/arch/arm/mach-k3/am62x/boot.c
    +++ b/arch/arm/mach-k3/am62x/boot.c
    @@ -3,6 +3,8 @@
     #include <asm/arch/hardware.h>
     #include <asm/arch/am62_spl.h>
     
    +#define debug printf
    +
     static u32 __get_backup_bootmedia(u32 devstat)
     {
     	u32 bkup_bootmode = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK) >>
    

    这样我就可以看到您配置为从 SD 卡引导的引导模式引脚。

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

    您好、此问题是否仍然存在?

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

    尊敬的 Chen:

    听说了 Jacob、 您无法创建 u-boot?

    在 SDK 安装文件夹:make uboot 和 make-u-boot-stage 下、无需手动进行。  

    请参阅 SDK 用户指南:   1.1.4. 使用 Makefile 构建 SDK、如果仍然有问题、 请创建新帖子并粘贴日志。  

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/linux/Overview/Top_Level_Makefile.html

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

    您好、Prashant、

    #1。 更改了此文件夹中的 dts (@ubuntu22:~/ti-processor-sdk-linux-am62xx-evm-11.01.05.03/board-support/ti-u-boot-2025.01+git/dts/上游/ src /arm64/ti$)
    ) 如下所示、因为定制板只有用于 SD 卡的 3.3V 电压。

    #2. 定制板 SD 卡电源原理图如下所示、这几乎与 Beagleplay 板设计相同。

         

    #3.  使用启用调试日志的各种电路板上的同一 SD 卡进行引导:

    在 SK-AM62 E3((GP 器件)上

    U-Boot SPL 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:15 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    Changed A53 CPU frequency to 1250000000Hz (T grade) in DT
    SPL initial stack usage: 13392 bytes
    get_boot_device: devstat = 0xff43 bootmedia = 0x8 bootmode = 0
    Trying to boot from MMC2
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-240-gd90bb650fe-dirty
    NOTICE:  BL31: Built : 21:37:18, Jun 23 2025
    
    U-Boot SPL 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:50 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 2032 bytes
    get_boot_device: devstat = 0xff43 bootmedia = 0x8 bootmode = 0
    Trying to boot from MMC2
    Skipping authentication on GP device
    Skipping authentication on GP device
    
    
    U-Boot 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:50 +0800)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    DRAM:  2 GiB
    Core:  83 devices, 32 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1

    在 Beagleplay 板上:

    U-Boot SPL 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:15 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    Changed A53 CPU frequency to 1250000000Hz (T grade) in DT
    SPL initial stack usage: 13392 bytes
    get_boot_device: devstat = 0x643 bootmedia = 0x8 bootmode = 0
    Trying to boot from MMC2
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Skipping authentication on GP device
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-240-gd90bb650fe-dirty
    NOTICE:  BL31: Built : 21:37:18, Jun 23 2025
    
    U-Boot SPL 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:50 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 2032 bytes
    get_boot_device: devstat = 0x643 bootmedia = 0x8 bootmode = 0
    Trying to boot from MMC2
    Skipping authentication on GP device
    Skipping authentication on GP device
    
    
    U-Boot 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:50 +0800)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    DRAM:  2 GiB
    Core:  83 devices, 32 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_connect() failed
    No ethernet found.

    定制电路板上:

    U-Boot SPL 2025.01-gd2a72467939e-dirty (Jul 31 2025 - 13:16:15 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    Changed A53 CPU frequency to 1250000000Hz (T grade) in DT                       
    SPL initial stack usage: 13392 bytes                                            
    get_boot_device: devstat = 0xff43 bootmedia = 0x8 bootmode = 0                  
    Trying to boot from MMC2                                                        
    Partition 1 invalid on device 1                                                 
    spl_register_fat_device: fat register err - -1                                  
    spl_load_image_fat: error reading image tispl.bin, err - -1                     
    SPL: failed to boot from all boot devices                                       
    ### ERROR ### Please RESET the board ### 

    DTS 中的配置应该会影响引导、但在哪里?

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

    您好:

    引导模式配置似乎不正确、但不应导致问题。 保留的引脚应为 0、因此对于 SD 卡引导、devstat 应读取 0x243、而无需备用引导。

    请使用以下命令启用更多日志记录:

    diff --git a/configs/am62x_evm_r5_defconfig b/configs/am62x_evm_r5_defconfig
    index 048f5c7e143..1a259353913 100644
    --- a/configs/am62x_evm_r5_defconfig
    +++ b/configs/am62x_evm_r5_defconfig
    @@ -126,3 +126,6 @@ CONFIG_SPL_TIMER=y
     CONFIG_OMAP_TIMER=y
     CONFIG_LIB_RATIONAL=y
     CONFIG_SPL_LIB_RATIONAL=y
    +
    +CONFIG_MMC_TRACE=y
    +
    diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
    index 799586891af..26f6af085b5 100644
    --- a/drivers/mmc/mmc.c
    +++ b/drivers/mmc/mmc.c
    @@ -29,6 +29,7 @@
     #include "mmc_private.h"
     
     #define DEFAULT_CMD6_TIMEOUT_MS  500
    +#define pr_debug printf
     
     /**
      * names of emmc BOOT_PARTITION_ENABLE values
    

    此外、是否已经审查了定制电路板的原理图?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    50MHz MMC_CLK 对于定制电路板来说是否过高? 可以限制为较低的测试频率?

    这可以在传统模式下尝试一次。 只需注释掉 SD HS 模式的 OTAP 属性。

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

    此外、还有更多可用的权变措施、例如增加周期和减小总线宽度

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/linux/Foundational_Components /U-Boot/UG-Memory-K3.html#steps-for-working-around-sd-card-issues-in-u-boot

    也可以尝试一次。