Linux kernel MLO(最小引导加载程序)是如何工作的?
我试图了解MLO是如何加载到SOC的片上并进行最小配置的。我使用的是TI DM8168 soc 我已通过以下链接了解MLO或x-loader: 我知道ROM代码将MLO(x-loader)加载到SoC的片上RAM中,片上RAM进行最小配置,最后加载uboot(universal bootloader),最终启动linux内核Linux kernel MLO(最小引导加载程序)是如何工作的?,linux-kernel,embedded-linux,bootloader,texas-instruments,dm814x,Linux Kernel,Embedded Linux,Bootloader,Texas Instruments,Dm814x,我试图了解MLO是如何加载到SOC的片上并进行最小配置的。我使用的是TI DM8168 soc 我已通过以下链接了解MLO或x-loader: 我知道ROM代码将MLO(x-loader)加载到SoC的片上RAM中,片上RAM进行最小配置,最后加载uboot(universal bootloader),最终启动linux内核 我的疑问是,我的片上RAM大小是64 KB,而MLO大小是116 KB,那么ROM代码是如何将MLO加载到片上RAM的呢 此外,它至少还有两个内部RAM块,参考OMC0和
我的疑问是,我的片上RAM大小是64 KB,而MLO大小是116 KB,那么ROM代码是如何将MLO加载到片上RAM的呢 此外,它至少还有两个内部RAM块,参考OMC0和OMC1,两个块的大小都是256KiB 根据本文件,u-boot可以使用这两个气缸组: OCMC0 0x40300000-0x4033FFFF OCMC0将由ROM代码和U-boot使用。一旦Linux内核启动,OCMC0是免费的,内核可以使用它。如果使用CCS加载,则不应使用OCMC0加载u-boot OCMC1 0x40400000-0x4043FFFF OCMC1将由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中