工具与软件:
大家好、我目前正在从事一个使用 TI AM335x EPC 平台的项目、从 eMMC 启动时遇到问题。
以下是当前设置和我面临的挑战的详细信息。
■开发环境:
・平台:TI AM3352
・软件版本:Yocto 2.4
μ・引导介质:SD 卡、eMMC、SPI 闪存(SPI0)
■问题背景:
我已经构建了一个新的 Yocto 2.4映像并成功生成了相应的 MLO 文件。
从 SD 卡引导时、新的 MLO 文件已正确加载、引导过程按预期工作。
但是、从 eMMC 引导时、器件仍会加载最初预安装的旧 MLO 文件。
调查后发现、由于硬件配置的原因、无法直接从 eMMC 引导。 必须将 MLO 文件复制到 SPI 闪存(SPI0)、系统才能引导。 硬件设置涉及引导序列 SPI0 -> MMC0。
■挑战:
为 SD 卡生成的 MLO 文件是否按原样与 SPI 闪存(SPI0)兼容、还是需要特定修改或设置?
将 MLO 文件刷写到 SPI 闪存(SPI0)的正确方法是什么?(在 SPI 闪存中存储 MLO 文件的正确偏移量或地址是什么?)
要从 SPI0引导 eMMC 上的引导文件系统、我假设 SPI0还必须包含 u-boot.bin、U-Boot 参数、DTB 和 Linux 内核。
如何将这些组件打包到单个映像中、以及如何将此映像刷写到 SPI0?
或者、如果可以绕过 SPI0并直接从 MMC0引导(从 eMMC 加载 MLO、u-boot.bin 和内核)、而不更改硬件配置、我想知道如何实现这一点。
■已采取的步骤:
・使用 Yocto 构建并验证了 MLO 文件。
・在 SD 卡引导时成功测试了 MLO 文件。
■请求:如果您能提供以下信息、我将不胜感激:
为 SD 卡生成的 MLO 文件可以直接刷写到 SPI 闪存吗?
详细介绍了将 MLO 文件刷写到 SPI 闪存的步骤和工具、尤其是关于所需偏移或配置的步骤和工具。
如何将其他组件(u-boot.bin、dtb、kernel 等)打包并刷写到 SPI0、以便引导 eMMC 根文件系统。
如果可能、提供一种跳过 SPI0并直接从 MMC0引导而不修改硬件的方法。
感谢您的支持和指导!