我试图了解如何将MLO加载到SOC的片上并执行最小配置。我正在使用TI DM8168 soc。
我已经通过以下链接了解MLO或x-loader:
http://omappedia.org/wiki/Bootloader_Project
我知道ROM代码将MLO(x-loader)加载到SoC的片上RAM中,它执行最小配置,最后加载uboot(通用引导加载程序),最终启动linux内核。
我怀疑的是我的片上RAM大小为64 KB,MLO大小为116 KB,然后ROM代码如何将MLO加载到片上RAM
答案 0 :(得分:1)
似乎DM8168具有超过64KiB的内部RAM:如中所述 DM816x AM389x PSP 04.00.01.13 Feature Performance Guide,它至少还有两个内部RAM块,标记为OMC0和OMC1,两者的大小都是256KiB。
根据这份文件,u-boot可以使用这两个银行:
OCMC0 0x40300000 - 0x4033FFFF ROM代码和U-boot将使用OCMC 0。 Linux内核启动后,OCMC0是免费的,内核可以使用它。如果使用CCS加载,则不应使用OCMC0加载u-boot。
OCMC1 0x40400000 - 0x4043FFFF OCMC 1将由ROM代码和U-boot使用。 Linux内核启动后,OCMC0是免费的,内核可以使用它。
来自u-boot-omap3 / board / ti / ti8168 / config.mk,似乎u-boot正在使用OMC1
TI_LOAD_ADDR = 0x40400000
这可以解释为什么您的116KiB u-boot映像可以放入DM8168内部RAM中。