各位专家好,
我正在尝试了解 i.MX95 启动 ROM 是如何处理主启动、辅助启动和恢复启动阶段的。我已经查阅了参考手册和一些 U-Boot spl 源代码,但我仍然不清楚恢复启动机制的工作原理。
我的目标是实现以下启动架构:
在查看arch/arm/mach-imx/image-container.c文件时,我注意到以下代码:
printf("Boot stage: ");
if (rom_data.boot_stage == 0x6)
printf("Primary\n");
else if (rom_data.boot_stage == 0x9)
printf("Secondary\n");
else if (rom_data.boot_stage == 0xa)
printf("Recovery\n");
else
printf("USB Serial Download\n");根据此,Boot ROM 似乎支持四个启动阶段:主启动、辅助启动、恢复启动和 USB 串口下载启动。但是,我找不到足够的信息来解释如何选择或配置恢复阶段。
我希望就以下问题获得一些指导:
最终,我的目标是让系统正常从 eMMC Boot0 启动, 必要时 回退到 eMMC Boot1 , 如果两个 eMMC 启动分区都不可用或无效, 则最终启动 存储在 FlexSPI 或非 中的 Golden Recovery Image 。
如果有人已经实现了类似的启动架构,或者可以向我提供相关的文档或应用笔记,我将非常感谢您的指导。
提前谢谢!
BR,
阿伦·库马尔