AM335x bootloader 分3部分:
1st stage:RBL (ROM)
2st stage:SPL (内部RAM:0x402f0400)
3st stage:U-Boot (一般外部DDR)
注:SPL的代码包含在U-Boot中,在编译U-Boot时会自动编译。

AM335x内部RAM大小为128KB(0x402f0000 - 0x4030ffff),其中底部8KB(0x4030e000 - 0x4030ffff)来作载入ROM code(RBL)用,另外,开始1KB(0x402f0000 - 0x402f0400)用作保护(该部分是无法进入的),因此只剩下109KB来存放U-Boot镜像,以及存放在DRAM初始化之前的整个栈(stack)。然而,实际上U-Boot要完成相应的功能所需要的代码是无法压缩到110KB以内的,所以必须分两步(two stages)。
注:如果从nand启动,所有镜像(image)都必须有头部信息(image header),image header长度为8 byte,包含loader address(Entry point)以及需要拷贝的image大小。
阅读(2407) | 评论(0) | 转发(0) |