【问题标题】:How MLO (minimal bootloader) works?MLO(最小引导加载程序)如何工作?
【发布时间】:2015-01-16 17:36:40
【问题描述】:

我正在尝试了解如何将 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 中

【问题讨论】:

    标签: linux-kernel embedded-linux bootloader texas-instruments dm814x


    【解决方案1】:

    DM8168 似乎有超过 64KiB 的内部 RAM:如在 DM816x AM389x PSP 04.00.01.13 Feature Performance Guide,它至少还有两个内部 RAM 块,引用为 OMC0 和 OMC1,大小均为 256KiB。

    根据这个文档,u-boot可以使用这两个bank:

    OCMC0 0x40300000 - 0x4033FFFF OCMC 0 将被 ROM 代码和 U-boot 使用。 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。

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      相关资源
      最近更新 更多