linux kernel - How MLO (minimal bootloader) works? -
i trying understand how mlo loaded on-chip of soc , minimal configuration. using ti dm8168 soc.
i have gone through following link understand mlo or x-loader:
http://omappedia.org/wiki/bootloader_project
i got know rom code loads mlo (x-loader) on-chip ram of soc minimal configuration , loads uboot (universal bootloader), initiates linux kernel.
my doubt here on-chip ram size 64 kb , mlo size 116 kb, how rom code loading mlo on-chip ram
it seems dm8168 has more 64kib internal ram: explained in dm816x am389x psp 04.00.01.13 feature performance guide, has @ least 2 more blocks of internal ram, referenced omc0 , omc1, both being 256kib in size.
those 2 banks can used u-boot according document:
ocmc0 0x40300000 - 0x4033ffff ocmc 0 used rom code , u-boot. once linux kernel boots, ocmc0 free , kernel can use it. if ocmc0 should not used load u-boot if loaded using ccs.
ocmc1 0x40400000 - 0x4043ffff ocmc 1 used rom code , u-boot. once linux kernel boots, ocmc0 free , kernel can use it.
from u-boot-omap3/board/ti/ti8168/config.mk, seems u-boot using omc1
ti_load_addr = 0x40400000
this explain why 116kib u-boot image can fit in dm8168 internal ram.
Comments
Post a Comment