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.

[参考译文] SK-AM62:如果 eMMC boot0无法引导、uboot 将从 boot1自动引导

Guru**** 2548870 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1186162/sk-am62-if-emmc-boot0-fails-to-boot-uboot-will-automatically-boot-from-boot1

器件型号:SK-AM62

您好!

如果 u-boot 检测到 boot0已损坏且无法启动、则 u-boot 中是否有允许 u-boot 自动从 boot1启动的配置?

目前、我已使用命令  MMC partconf 0 1 1 1将 u-boot 配置为从 boot0引导。 如果 BOOT0不可引导、如何在不进入 u-boot 并键入  MMC partconf 0 1 2 1的情况下从 BOOT1进行 u-boot 引导以手动更改为从 BOOT1引导?

谢谢。

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

    您好!
    从引导流程中的 u-boot 二进制文件(tidboot3.bin/tispl.bin/u-boot.img)、此处讨论了哪个文件?
    最棒的
    -香港

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

    如果我错了、请纠正我的错误、但根据我的理解、如果三个文件中的一个损坏、u-boot 将不会引导、对吧? 我们将讨论全部3个文件。

    最初、我已将这3个文件刷写到引导分区 BOOT0和 BOOT1中、并成功从它们引导。 我通过擦除其中一个引导分区模拟了损坏情况。 因此、我现在要尝试实现的任务是在检测到其中一个引导分区不可引导时从另一个引导分区自动引导。

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

    您好!
    请先参阅此 e2e 帖子。
    e2e.ti.com/.../4487355
    在您的用户案例中、bootrom 支持从任何一个 eMMC 分区引导 R5 BL:
    a。 引导分区#1:RAW
    b。 引导分区#2:RAW
    c。 UDA:RAW/FS
    BootROM 根据从其中一个 eMMC A/B/C 分区读取/引导 R5 BL
    (1)。 BOOTMODE 引脚=> eMMC
    (2)。 eMMC EXTCSD 非易失性寄存器预设置=>哪一个 eMMC 分区是 A/B/C、总线宽度等...
    例如、以下 cmd @u-boot 可预配置 eMMC EXTCSD 非易失性寄存器、如注释所示。

    => mmc partconf 0 1 1 1
    Boot configuration bytes [PARTITION_CONFIG: 0x48] @EXTCSD[179] =>  boot from BOOT#1, and ack
    => mmc bootbus 0 2 0 0
    Boot bus Conditions [BOOT_BUS_CONDITIONS: 0x02] @EXTCSD[177]   =>  x8 (sdr/ddr) bus width in boot operation mode

    在从 eMMC UDA RAW 模式引导时提供了 bootrom 恢复支持、其中可以有两个 R5 BL 副本(一个@0x0、冗余一个@0x400000)。

    最棒的
    -香港

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

    您好、Hong、

    感谢您的回复。 不过,我仍然有一些疑问。

    在 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1190507/sk-am62-bootmode-switch-to-backup-mode-automatically/4487355#4487355后的这个 e2e 中、 它提到了偏移量0x400000处的 R5冗余启动的一些内容。 此外、在您之前的答复中、我不确定最后一句"从 eMMC UDA RAW 模式引导时有引导程序恢复支持、其中可以有两个 R5 BL 副本(一个@0x0、冗余一个@0x400000)。"  

    什么是冗余引导? 我在 TRM 中似乎没有发现这一点。 我是否有任何有关此方面的文档可供参考?

    在哪里以及如何在0x400000处配置此冗余引导/引导恢复支持?

    另外一点、从这个线程 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1015011/tda4vm-can-tda4-boot-into-emmc-boot1-when-boot0-is-invalid 中可以看到、在运行时、ROM 可能无法跳转到另一个引导分区。 更改引导分区的唯一方法是修改 u-boot。 对于 AM62、这是相同的吗?

    此致、

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

    您好、Chee、
    请参阅此常见问题解答、了解在 K3 SoC 中、即 AM64x、AM62x、AM62A、加载 R5F-BL (引导加载程序)的 ROM-Bootloader (RBL)中的冗余/恢复引导支持...
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1190873/faq-am64x-am62x-soc-redundant-recovery-boot-support-in-onchip-rom-boot-loader-rbl-booting-r5f-bl-bootloader

    [引用 userid="43349" URL"~/support/processors-group/processors/f/processors-forum/1186162/sk-am62-if-emmc-boot0-fails-to-boot-uboot-will-automatically-boot-from-boot1/4487366 #4487366]\n 在您的用户案例中,bootrom 支持从任何一个 eMMC 分区引导 R5 BL:
    a。 引导分区#1:RAW
    b。 引导分区#2:RAW
    c。 UDA:RAW/FS
    BootROM 根据从其中一个 eMMC A/B/C 分区读取/引导 R5 BL
    (1)。 BOOTMODE 引脚=> eMMC
    (2)。 eMMC EXTCSD 非易失性寄存器预设置=>哪个 eMMC 分区 A/B/C、总线宽度等...[/引用]

    -当 RBL 无法从当前分区(即引导分区1)对 R5-BL 进行完整性检查时,RBL 无法自动切换从另一个分区(即引导分区2)引导。 这是因为要从哪个 eMMC 分区引导由 eMMC EXTCSD 非易失性寄存器预设置决定的。

    [引用 userid="43349" URL"~/support/processors-group/processors/f/processors-forum/1186162/sk-am62-if-emmc-boot0-fails-to-boot-uboot-will-automatically-boot-from-boot1/4487366 #4487366"]从 eMMC UDA 原始模式引导时提供了 bootrom 恢复支持,其中可以有两个 R5 BL 副本(一个@0x0,冗余一个@0x400000)。

    -当 eMMC 通过引导模式引脚配置为 UDA-RAW 时、RBL 确实支持从主偏移量@0x0或从 UDA-RAW 的冗余偏移量@0x400000进行冗余/恢复引导。 请注意、在这种情况下没有 eMMC 引导分区开关。
    -一旦 R5-BL 开始运行、在重新配置 eMMC EXTCSD 非易失性寄存器后、R5-BL 代码完全有可能根据需要切换或读取任何分区(如上所示的 A/B/C)。

    最棒的

    -香港