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.

[参考译文] OMAP-L138:NAND 引导:将 U-Boot 位置从0x20000移动到0x40000

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/920534/omap-l138-nand-boot-moving-u-boot-location-from-0x20000-to-0x40000

器件型号:OMAP-L138
主题中讨论的其他器件:FLASHTOOL

您好!

我希望将 U-Boot 分区从位置0x20000移动到0x40000。 我正在使用的新 NAND 芯片需要移动分区。 那么、我是否需要修改与此更改相关的 RBL/UBL 配置? 或者如何从这个新位置启动 U-Boot?

谢谢、
Richard

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

    您使用的 uboot 或 SDK 版本是什么? 该器件的 RBL 开始从 NAND 上的 Block0或 Block 1 (取决于引导开关)读取图像、如果块损坏、将检查多达32个块的有效图像。 RBL 中没有用于更改无源读取位置的设置。

    请检查 UBL/SPL 代码的 NAND 偏移、如果您通常更改位置、还需要更新引导加载程序配置以从新位置读取和加载。 您需要了解引导流程和引导流程中的组件、并更新加载 uboot 的引导加载程序。

    此致、

    Rahul  

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

    感谢您的快速回复。  这很有帮助。

    TI SDK 未在我们的项目中使用。  我们使用 Yocto。  U-Boot 版本为"ti-u-boot-2019.01"

    我已确认 u-boot 加载程序已正确写入特定的存储器地址/分区。  此外、如果我从 SD 卡引导 u-boot、那么我可以继续从 NAND 引导内核/Linux。

     RBL 是否可能不支持 NAND 芯片 MT29F4G08ABAFAH4?  我认为它应该起作用。

    我应该指出的是、这个 NAND 芯片不能与闪存工具一起使用、所以我必须使用 nandwrite。  此外、该 NAND 需要 onDIE 8位 ECC、因此必须启用 CONFIG_SYS_NAND_ONFI_DETING 并使用 NAND_ECC_NONE。

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

    我怀疑您使用的 NAND 不受引导 ROM 支持、因为 ROM 期望使用 EMIF 以特定格式生成 ECC。  

    有关 TI ROM 引导加载程序支持的 NAND 几何体、请参阅引导加载程序应用手册:

    https://www.ti.com/lit/an/sprab41f/sprab41f.pdf

    附录 B 和第9章应提供所需的详细信息。  

    此外、请参阅以下内容或 ROM 和 uboot/Linux 驱动程序之间的 NAND ECC 格式差异。

    https://processors.wiki.ti.com/index.php/DM365_Nand_ECC_layout

    此致、

    Rahul