我有一个主板与工作的u-boot闪现在它上面。现在,我想给bootloader添加一些功能(用于初始化硬件的某些部分),但是如果我犯了一些错误,开发过程可能会阻塞主板。是否可以进行如下所述的多阶段引导: 1)启动u-boot 2) u-boot将加载我的二进制文件,该文件添加了初始化硬件的功能。3)我的二进制文件将加载并引导linux-kernel。
如果有可能,我们将非常感谢您的一些建议。谢谢。
发布于 2013-04-08 18:12:21
是。在ARM SoC上通常使用多级引导。
以TI OMAP设备为例,使用引导加载程序的两个实例。第一个是在不期望SDRAM初始化的情况下运行的,并被复制到48kB的嵌入式SRAM中并从中执行。除了一些基本的硬件初始化(例如SDRAM,启用某些功能单元的电源,启用时钟),然后加载第二阶段的引导加载程序之外,它不会做太多的事情。即使是这样,也是很难适应的。
u-Boot (以及Barebox,可能还有其他引导加载程序)源代码树具有构建此设置的构建选项,我相信您可以破坏它。
修改现有的引导加载程序可能会更好。我有很好的使用Barebox的经验。
在OMAP的情况下,第一个引导加载程序通常被称为MLO -这可能有助于查找资源。
https://stackoverflow.com/questions/15876089
复制相似问题