u-boot.bin和u-boot.img之间有什么不同

时间:2015-04-07 14:41:22

标签: embedded-linux u-boot

我刚刚编译了U-Boot bootloader,我在u-boot程序目录中看到了几个文件名:

u-boot.bin
u-boot.img
u-boot.lds
u-boot.srec

基本上,我对扩展名为.img.bin的文件感兴趣。他们之间有什么不同? SD卡是u-boot.img而闪存到NAND是u-boot.bin吗?

1 个答案:

答案 0 :(得分:15)

u-boot.bin是二进制编译的U-Boot引导加载程序。

u-boot.img包含u-boot.bin以及引导ROM使用的额外标头,以确定加载和执行U-Boot的方式和位置。

部署这些文件的方式取决于设备的性质,引导ROM以及加载文件的位置。

Boot ROM通常由SoC / CPU供应商提供。目前,许多引导ROM能够加载u-boot.img,读取文件的标头,将u-boot.bin加载到内存中并最终执行它。某些引导ROM非常复杂,可以直接加载u-boot.bin甚至是OS内核。其他人可能先加载中间引导加载程序(MLO / X-Loader),然后在外部存储器初始化后负责将U-Boot加载为辅助引导加载程序。

此图描绘了一些TI OMAP处理器实现的后一种情况: TI OMAP Boot Sequence

某些设备通过将许多X-Loader任务移动到U-Boot并将引导参数(例如内存地址)放入u-boot.img的标头中来减少此引导过程,从而无需中间引导加载程序

您需要调查设备的属性,以确定如何部署U-Boot。