主题中讨论的其他器件:FLASHTOOL
您好!
我希望将 U-Boot 分区从位置0x20000移动到0x40000。 我正在使用的新 NAND 芯片需要移动分区。 那么、我是否需要修改与此更改相关的 RBL/UBL 配置? 或者如何从这个新位置启动 U-Boot?
谢谢、
Richard
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.
您使用的 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