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 UDA 冗余引导

Guru**** 2554340 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1192667/sk-am62-emmc-uda-redundant-boot

器件型号:SK-AM62

您好!

之前、我已成功将3个文件刷写到 eMMC 引导分区#1和#2中。 要将闪存更改为 BOOT#2、我将 DFU_alt_INFO_eMMC 更改为 mmcpart 2、而不是1、如下面的代码所示。

以刷写到 BOOT#1中

setenv dfu_alt_info_emmc 'rawemmc raw 0 0x800000 mmcpart 1;rootfs part 0 1 mmcpart 0;tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;tispl.bin.raw raw 0x400 0x1000 mmcpart 1;u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;u-env.raw raw 0x3400 0x100 mmcpart 1;sysfw.itb.raw raw 0x3600 0x800 mmcpart 1'

以刷写到 BOOT#2中

setenv dfu_alt_info_emmc 'rawemmc raw 0 0x800000 mmcpart 2;rootfs part 0 1 mmcpart 0;tiboot3.bin.raw raw 0x0 0x400 mmcpart 2;tispl.bin.raw raw 0x400 0x1000 mmcpart 2;u-boot.img.raw raw 0x1400 0x2000 mmcpart 2;u-env.raw raw 0x3400 0x100 mmcpart 2;sysfw.itb.raw raw 0x3600 0x800 mmcpart 2'

我正在尝试从 Linux 主机将 tidoot3.bin、tispl.bin 和 u-boot.img 刷写到 eMMC UDA 分区中。 我该怎么做?

2.我已尝试在以下主题之后从 SD 卡刷写 TDA4VM:tda4vm 是否支持 eMMC UDA 分区引导? -处理器论坛-处理器- TI E2E 支持论坛、但当我从 UDA 引导时、SDK 仅引导 R5 BL/SPL。 UDA 是否只能读取/引导 R5 BL? 还是可以引导至 u-boot?

3.从 SD 卡刷写到  MMC dev 0 0之后,似乎/dev/mmcblk0p1已消失,因此分区中的 rootfs 也已消失。 为什么会发生这种情况?

 

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

    您好、Chee、
    在 AM62x Linux SDK 中、eMMC 默认分区为:
    -引导分区(#1/#2)作为引导二进制文件的原始分区
    - UDA 作为 root_fs 的 ext4
    software-dl.ti.com/.../UG-Memory.html
    您是否会对您的用户案例进行评价?
    最棒的
    -香港

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

    您好、Hong、

    我要尝试将主引导模式设置为 eMMC、并将备份引导模式设置为 eMMC UDA。

    在此主题 SK-AM62中:如果 eMMC BOOT0无法引导、Uboot 将从 BOOT1 -处理器论坛-处理器- TI E2E 支持论坛自动引导、您提到"当 eMMC 通过引导模式引脚配置为 UDA-RAW 时、 RBL 不支持从主偏移量@0x0或 UDA-RAW 的冗余偏移量@0x400000进行冗余/恢复引导。"

    那么、是否可以将引导二进制文件(tidoot3.bin、tispl.bin 和 u-boot.img)刷写到主偏移量中? 如果是、步骤是什么? 步骤是否与我如何闪存到 eMMC 引导分区类似?

    此外,如果我将引导二进制文件刷写到 UDA 中,是否需要在 UDA 中创建另一个分区,以便这些文件不会覆盖 rootfs?

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

    您好!
    尽管在 RBL 中是可行的、但由于0x0偏移与 UDA 中的 MBR/GPT 分区表发生冲突、因此使用从 UDA 原始模式的冗余/恢复引导存在实际的使用限制。
    最棒的
    -香港

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

    您好!

     正如 Hong 所解释的、您的问题是 UDA 原始模式引导存在问题、因为分区表与"主"引导偏移量0x0重叠。

    如果您正在寻找 UDA 原始模式引导、因为您希望具有备份引导偏移功能、那么 UDA 中不能有 MBR/GPT 分区。

    您可以将 eMMC 闪存分区为具有一个"大型"通用分区、并将 UDA 分区减少到仅16-32 MB (即足够容纳使用 tidoot3.bin、tispl.bin 和 u-boot.img 每个分区的主引导和备份 U-Boot)。  然后,在通用分区中,可以在偏移量0处有一个 MBR/GPT 分区表和文件系统。

    请注意、这需要将源代码更改为 U-Boot。 我还没有对此进行过广泛测试、但它确实在第一个器件上进行了测试。

    此致、

    Dominic

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

    感谢您的反馈。

    对于通用分区、是否有任何有关如何创建或实现它的参考?

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

    您好、Chee、
    由于额外的移植工作、加上0x0偏移与 UDA 中的 MBR/GPT 分区表发生冲突这一事实。 我认为使用 UDA-RAW 并不是冗余启动的实用选择。

    感谢 Dominic 在这里提供的宝贵意见。

    最棒的
    -香港