Как работает MLO (минимальный загрузчик)?

Я пытаюсь понять, как MLO загружается в микросхему SOC, и выполнить минимальную настройку. Я использую TI DM8168 соц.

Я прошел по следующей ссылке, чтобы понять MLO или x-loader:

http://omappedia.org/wiki/Bootloader_Project

Я узнал, что код ПЗУ загружает MLO (x-загрузчик) во встроенную оперативную память SoC, которая выполняет минимальную конфигурацию, и, наконец, загружает uboot (универсальный загрузчик), который, наконец, инициирует ядро ​​Linux.

Я сомневаюсь, что размер моей встроенной ОЗУ составляет 64 КБ, а размер MLO - 116 КБ, тогда как код ПЗУ загружает MLO во встроенную ОЗУ.


person Sourabh Das    schedule 19.11.2014    source источник


Ответы (1)


Похоже, что DM8168 имеет более 64 КБ внутренней оперативной памяти: как объясняется в DM816x. AM389x PSP 04.00.01.13 Руководство по производительности функций имеет как минимум еще два блока внутренней оперативной памяти, обозначенные как OMC0 и OMC1, каждый из которых имеет размер 256 КБ.

Эти два банка могут использоваться u-boot в соответствии с этим документом:

OCMC0 0x40300000 - 0x4033FFFF OCMC 0 будет использоваться ROM Code и U-boot. После загрузки ядра Linux OCMC0 становится бесплатным, и ядро ​​может его использовать. Если OCMC0 не следует использовать для загрузки u-boot, если он загружается с помощью CCS.

OCMC1 0x40400000 - 0x4043FFFF OCMC 1 будет использоваться ROM Code и U-boot. После загрузки ядра Linux OCMC0 становится бесплатным, и ядро ​​может его использовать.

Судя по u-boot-omap3/board/ti/ti8168/config.mk, u-boot использует OMC1.

TI_LOAD_ADDR = 0x40400000

Это объясняет, почему ваш образ u-boot размером 116 КБ может поместиться во внутреннюю оперативную память DM8168.

person Frant    schedule 04.12.2014