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.

[参考译文] AM62A3-Q1:从 EMMC uboot 和 Linux 引导

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1620935/am62a3-q1-boot-from-emmc-uboot-and-linux

器件型号: AM62A3-Q1

您好 TI、

 

我们正在尝试从 eMMC 启动定制电路板。 我们使用的是 Linux SDK 9.02、并拥有 1GB RAM。

我们的电路板已成功从 SD 卡引导。 但不会从 eMMC 引导。

我们已成功使用 SD 卡创建引导分区 eMMC(引导和根)。 遵循了以下文档中的说明。  

3.2.2.17. MMCSD—Processor SDK AM62x 文档 

从 SD 卡对 eMMC 进行分区后、我们将引导模式更改为 eMMC、但没有进行引导。

因此、我们尝试从 uboot 再次从 SD 卡引导并再次刷写 tiboot3.bin、我们收到存储器错误。

image.png

 

image.png

 

您能给我们说明为什么会出现这些错误以及我们如何成功从 eMMC 引导吗?

从 SD_card 引导日志文件。

sd_card_boot_log.txt 

 

谢谢  

Pankaj Verma

 

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

    您好:

    请按照以下指南刷写到 eMMC

    software-dl.ti.com/.../How_to_emmc_boot.html

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

    您好、Prashant、

    我遵循了文档上的说明、但收到了以下错误消息

    正如前面我这边也有同样的误差所示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如前面所示、我这边也有同样的错误。

    我认为这是由定制电路板上的 DDR 可用 (1GB) 引起的。

    我在日志中看到 MMC 读取成功、因此您可以忽略该错误并继续 eMMC 刷写。

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

    您好、Prashant、

    我尝试过按照您的建议、通过 SD 卡显示错误来刷写 eMMC、如图所示

    但当我在 eMMC 引导模式下更改时、日志中没有任何内容。我认为 eMMC 没有发生闪存。

    您能帮助我如何解决这个错误吗?

    谢谢

    Pankaj Verma

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

    您好、Prashant、

    我认为这一主题也有问题  

     e2e.ti.com/.../am62a7-am62a7-reserved-mem-failed-to-allocate-memory-for-node-linux-cma-size-576-mib  

    但也提供 了固件构建器用户指南 文档

    2.3. 了解并更新存储器映射

    如果这也与我的问题有关、您能与我分享文档吗?

    谢谢

    Pankaj Verma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但当我在 eMMC 引导模式下更改时、日志中没有任何内容。我认为 eMMC 中没有发生闪存。

    有多种 eMMC 引导模式可用于从引导和 UDA 分区进行引导。 请阐明您正在使用的引导程序。

    我认为刷写成功、二进制文件已刷写到 BOOT0 分区、因此您必须使用 TRM 中提到的 eMMC 备用引导模式。 除此之外,您还必须运行“mmc partconf“和“mmc bootbus“命令一次,如文档中所述

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/How_to_Guides/Target/How_to_emmc_boot.html#emmc-boot-configuration

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

    您好 Prashant、

    我们使用的 eMMC 引导模式是  

    刷写 eMMC 后、我已将电路板断电并移除 SD 卡。 之后我更改为 eMMC 引导模式并再次上电、但日志中没有任何内容。

    我在 EVM 中做了同样的事情、工作正常、但 EVM 为 4GB DDR、我们的定制板为 1GB。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    除此之外、您还必须运行“mmc partconf“和“mmc bootbus“命令一次、如 docs
    中所述。

    您是在刷写后运行这些命令了吗?

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

    您好、Prashant、

    我遵循了两个部分、第一个部分是使用下面的 TI 链接“在 eMMC UDA 中创建分区“对 eMMC 进行分区。

    3.2.2.17. MMCSD—Processor SDK AM62x 文档

    第一个分区是 boot、secomd 是 root。

    我已经正确刷写了引导和根文件。 如文档中所示。

    一些图像供您参考

    分区并将引导和 rootfs 复制到 eMMC 后。 切换到 eMMC 模式和引导内核、但显示错误。

    我将再次在不同的板上执行整个过程、并让您知道。

    但我认为 uboot 正常工作、但内核映像未从 eMMC 加载。

    您能否查看并支持如何从 eMMC 运行 uboot 和内核?

    谢谢

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

    您好:

    、但我认为 uboot 正常工作、但内核映像没有从 eMMC 加载。

    由于已将 rootfs 刷写到第二个分区、因此需要运行以下命令

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

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

    您好、Prashant、

    使用这些命令在 uboot 中执行、它会正确执行内核。

    我们需要从 eMMC 自动引导、因为我已经完成了“git/board/ti/am62ax/am62ax.env"中“中的更改。

    这是正确的吗?

    我尝试了、但没有从 eMMC 自动引导。 是否需要进行任何其他更改。

    请检查一下  

    谢谢

    Pankaj Verma

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

    尊敬的 Pankaj:

    这是正确的吗?

    这些更改是正确的。

    请打印变量以确认更改是否反映出来

    => printenv mmcdev
    => printenv bootpart

    谢谢!

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

    您好、

    我进行了更改 “git/board/ti/am62ax/am62ax.env",“,但、但二进制文件中未反映出来。

    谢谢

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

    日志中的 A53 U-Boot 时间戳是“2024 年 3 月 19 日“、这意味着您实际上并不是在引导预期的 U-Boot 映像。 请注意、您使用的引导模式 (0x4b) 是 eMMC 备用引导、因此您需要将 U-Boot 映像刷写到 eMMC Boot0 分区、而不是 UDA 中的逻辑“引导“文件系统分区。

    更具体地说、您需要按照本节进行刷写

    software-dl.ti.com/.../How_to_emmc_boot.html