Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel MLO(最小引导加载程序)是如何工作的?_Linux Kernel_Embedded Linux_Bootloader_Texas Instruments_Dm814x - Fatal编程技术网

Linux kernel MLO(最小引导加载程序)是如何工作的?

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和

我试图了解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和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中