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.

[参考译文] AM3352:如何将 Yocto 2.4生成的 MLO 文件刷写到 SPI 闪存中以进行 eMMC 引导

Guru**** 2482225 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1446695/am3352-how-to-flash-yocto-2-4-generated-mlo-file-to-spi-flash-for-emmc-boot

器件型号:AM3352

工具与软件:

大家好、我目前正在从事一个使用 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引导而不修改硬件的方法。

感谢您的支持和指导!