u-boot.bin 和 u-boot.img 有什么区别
What is different between u-boot.bin and u-boot.img
我刚刚编译了 U-Boot 引导加载程序,在 u-boot 程序目录中看到了几个文件名,它们是:
u-boot.bin
u-boot.img
u-boot.lds
u-boot.srec
基本上,我对扩展名为 .img
和 .bin
的文件感兴趣。它们之间有什么不同?
u-boot.img
是SD卡,u-boot.bin
是刷NAND吗?
u-boot.bin
是二进制编译的U-Boot bootloader.
u-boot.img
包含 u-boot.bin
以及一个额外的 header 供引导 ROM 使用以确定加载和执行的方式和位置 U-Boot.
部署这些文件的方式取决于您设备的性质、其引导 ROM 以及文件的加载位置。
引导 ROM 通常由 SoC/CPU 供应商提供。如今,许多引导 ROM 能够加载 u-boot.img
、读取文件的 header、加载 u-boot.bin
到内存并最终执行它。一些引导 ROM 非常复杂,可以直接加载 u-boot.bin
甚至 OS 内核。而其他人可能会首先加载中间引导加载程序 (MLO/X-Loader),然后在初始化外部存储器后负责加载 U-Boot 作为辅助引导加载程序。
此图描述了由某些 TI OMAP 处理器实现的后一种情况:
某些设备通过将许多 X-Loader 任务移至 U-Boot 并将引导参数(例如内存地址)放入 header 来减少此引导过程11=] 避免需要中间引导加载程序。
您需要调查设备的属性以确定应该如何部署 U-Boot。
我刚刚编译了 U-Boot 引导加载程序,在 u-boot 程序目录中看到了几个文件名,它们是:
u-boot.bin
u-boot.img
u-boot.lds
u-boot.srec
基本上,我对扩展名为 .img
和 .bin
的文件感兴趣。它们之间有什么不同?
u-boot.img
是SD卡,u-boot.bin
是刷NAND吗?
u-boot.bin
是二进制编译的U-Boot bootloader.
u-boot.img
包含 u-boot.bin
以及一个额外的 header 供引导 ROM 使用以确定加载和执行的方式和位置 U-Boot.
部署这些文件的方式取决于您设备的性质、其引导 ROM 以及文件的加载位置。
引导 ROM 通常由 SoC/CPU 供应商提供。如今,许多引导 ROM 能够加载 u-boot.img
、读取文件的 header、加载 u-boot.bin
到内存并最终执行它。一些引导 ROM 非常复杂,可以直接加载 u-boot.bin
甚至 OS 内核。而其他人可能会首先加载中间引导加载程序 (MLO/X-Loader),然后在初始化外部存储器后负责加载 U-Boot 作为辅助引导加载程序。
此图描述了由某些 TI OMAP 处理器实现的后一种情况:
某些设备通过将许多 X-Loader 任务移至 U-Boot 并将引导参数(例如内存地址)放入 header 来减少此引导过程11=] 避免需要中间引导加载程序。
您需要调查设备的属性以确定应该如何部署 U-Boot。