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.

[参考译文] AM625:SD 卡闪存 eMMC

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438851/am625-sd-card-flash-emmc

器件型号:AM625

工具与软件:

尊敬的 TI 专家:

客户提出其 AM62x 电路板、并可以使用 SD 卡成功引导。 其软件基于 SDK9.2。

现在、他们想要使用 SD 卡将映像刷写到 eMMC。

但是、当他们将映像写入 eMMC 时、会遇到以下错误日志。

[ 34.100373] mmc0: running CQE recovery
[ 34.235006] mmc0: running CQE recovery
[ 34.243545] mmc0: running CQE recovery
[ 34.251916] mmc0: running CQE recovery
[ 34.257663] I/O error, dev mmcblk0, sector 14721024 op 0x1:(WRITE) flags 0x4000 phys_seg 9 prio class 2 [ 34.267831] EXT4-fs warning (device mmcblk0p2): ext4_end_bio:343: I/O error 10 writing to inode 259130 starting block 1840256)
[ 34.279362] Buffer I/O error on device mmcblk0p2, logical block 1806336
[ 34.286082] Buffer I/O error on device mmcblk0p2, logical block 1806337
[ 34.292776] Buffer I/O error on device mmcblk0p2, logical block 1806338 
[ 34.299443] Buffer I/O error on device mmcblk0p2, logical block 1806339 
[ 34.306145] Buffer I/O error on device mmcblk0p2, logical block 1806340 
[ 34.312842] Buffer I/O error on device mmcblk0p2, logical block 1806341 
[ 34.319527] Buffer I/O error on device mmcblk0p2, logical block 1806342 
[ 34.326200] Buffer I/O error on device mmcblk0p2, logical block 1806343 
[ 34.332865] Buffer I/O error on device mmcblk0p2, logical block 1806344 
[ 34.339556] Buffer I/O error on device mmcblk0p2, logical block 1806345

我们不知道原因、其中一个原因是、他们正在使用的 eMMC 是 FEMDRW008G-88A39、其写入性能仅为105MB/s 在我们的默认 SDK 中、我们似乎将使用 HS200模式、您认为这可能是导致该问题的原因吗?我们该如何推进?

谢谢!

Kevin

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

    您好!

    [quote userid="546457" url="~/support/processors-group/processors/f/processors-forum/1438851/am625-sd-card-flash-emmc 客户调出他们的 AM62x 板并可以使用 SD 卡成功引导。 他们的软件基于 SDK9.2。[/报价]

    由于最新版本中对 eMMC 驱动程序进行了重要更新、您能否要求客户使用 SDK v10进行一次测试?

    谢谢!

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

    尊敬的 Kevin:

    我看到您已经针对这个 SDK10.0引导问题创建了一个新的 e2e 线程。 我将进行深入研究并回复新主题。 乍一看、问题似乎与 SD 卡引导无关。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1439725/am625-customer-board-sd-boot-fail

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

    尊敬的 Bin & Prashant:

    我怀疑这也许与这个线程描述中提到的 eMMC 写入速度相关。 我怀疑 HS200对于仅支持最高105MB/s 的 eMMC 来说速度太快了

    因此、我让客户尝试在器件树文件中添加以下代码。

    NO-1-8-V;

    之后 、eMMC 写入不再有问题。 现在、客户提出了问题 其他影响是什么 除了禁用 HS200之外是否添加了上述代码? 另一个问题是 如何测试实际的 eMMC 读取/写入速度 放大器?

    谢谢!

    Kevin

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

    尊敬的 Kevin:

    我怀疑 HS200对于仅支持最高105MB/s 的 eMMC 来说太快了。

    HS200与 MMC 总线时钟有关、而105Mb/s 是 MMC 器件的数据吞吐量、尽管相关、但这两者并不是一回事。

    现在客户在问 其他影响是什么 除了禁用 HS200之外添加上述代码的示例?[/QUOT]

    现在、eMMC 器件以低总线时钟运行、其吞吐量会更低。

    另一个问题 如何测试实际的 eMMC 读取/写入速度 在当前设置中?[/QUOT]

    任何文件系统块读取/写入程序都可用于测量 eMMC 读取/写入速度、例如"dd"命令。

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

    您好、Bin、

    感谢您的反馈、客户决定继续保持较低的开发速度。 如前所述、SD 卡现在可以成功地将映像刷写到 eMMC 中。 现在、客户尝试从 eMMC 引导。

    但是、客户遇到以下错误日志。

    U-Boot 2023.04-dirty (Nov 19 2024 - 16:18:24 +0800)
    
    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 SK
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  no bloblist found!2 GiB
    Core:  70 devices, 30 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed -121
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    MMC: no card present
    SD/MMC found on device 1
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    switch to partitions #0, OK
    mmc0(part 0) is current device
    Scanning mmc 0:1...
    63314 bytes read in 14 ms (4.3 MiB/s)
    Working FDT set to 88000000
    MMC: no card present
    No EFI system partition
    No EFI system partition
    Failed to persist EFI variables
    "Synchronous Abort" handler, esr 0x96000044
    elr: 000000008085909c lr : 0000000080859038 (reloc)
    elr: 00000000fff5f09c lr : 00000000fff5f038
    x0 : 00000000fdf00970 x1 : ffffffffff700000
    x2 : fffffffffffca000 x3 : 0000000000000000
    x4 : 0000000000000000 x5 : 0000000000000000
    x6 : 00000000fdf00970 x7 : 0000000000000000
    x8 : 00000000fded6820 x9 : 0000000000000008
    x10: 00000000000024bc x11: 00000000fded40ac
    x12: 0000000000002488 x13: 0000000000000000
    x14: 00000000fded6820 x15: 0000000000000002
    x16: 00000000fff5f0cc x17: 0000000000000000
    x18: 00000000fdee6d80 x19: 0000000000000000
    x20: 00000000fdeea380 x21: 00000000fded43a0
    x22: 00000000fffb5491 x23: 0000000000000003
    x24: 00000000fffe4574 x25: 0000000000000000
    x26: 0000000000000000 x27: 0000000000000000
    x28: 00000000fdf05050 x29: 00000000fded4340
    
    Code: f9401001 8b020022 eb02003f 54fffec2 (b8004433)
    Resetting CPU ...
    
    resetting ...
    

    客户使用的引导模式是使用 UDA 的 eMMC 引导、如下所示。

    我是否知道此 eMMC 引导问题是由 eMMC 刷写或任何其他原因造成的? 客户未在 eMMC 刷写中看到错误日志。

    非常感谢、

    Kevin

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

    尊敬的 Bin & Prashant:

    我们通过在 Uboot 中使用以下命令解决了该问题。

    => setenv mmcdev 0
    => setenv bootpart 0:2
    => boot

    现在我们可以启动 eMMC、谢谢!

    Kevin