x-loader 以及 如何向nand中写入x-loader

来源:互联网 发布:c语言中的表达式 编辑:程序博客网 时间:2024/04/29 03:34

1. 

x-loaderis the primary boot loader. It is loaded by ROM boot loader into the internal RAM. x-loader is responsiblefor initializing the external memory and loading the u-boot from the selected boot device. x-loader supports boot from NAND, MMC/SD and OneNAND.

The generated x-loader.bin needs to be signed before it can be used by the ROM bootloader. 


2.

编译产生的x-loader.bin需要被转换成x-loader.bin.ift,这样才可以作用ROM bootloader。

这个文件和x-loader.bin的区别在于增加了一个4个字节的header。header的内容是4个字节的x-loader的长度和x-loader被load到什么地方的地址(4个字节)。由内部的ROM boot loader决定。

x-loader是在OMAP3的内部RAM中运行的(OMAP3530内部有64K SRAM、112K ROM),并没有被拷贝到外部的ddr中运行,当x-loader初始化完memory controler后,加载正式的bootloader: u-boot 来进一步初始化外围硬件,并且启动linux kernel。

启动顺序:bootrom:ROM boot loader(内部ram) ->  x-loader(内部ram) -> uboot(外部ddr) ->kernel(外部ddr)