1

Я пытаюсь понять, как MLO загружается в чип SOC и выполняет минимальную конфигурацию. Я использую TI DM8168 soc.Как работает MLO (минимальный загрузчик)?

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

http://omappedia.org/wiki/Bootloader_Project

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

Мои сомнения в том, что моя на чипе размером оперативной памяти 64 КБ, а размер МЗО составляет 116 КБ, то, как код ПЗУ загрузки MLO в ОЗУ на кристалле

ответ

1

Похоже, что DM8168 имеет внутреннее ОЗУ более 64KiB: как объяснено в DM816x AM389x PSP 04.00.01.13 Feature Performance Guide, у него есть как минимум еще два блока внутренней памяти, на которые ссылаются OMC0 и OMC1, оба имеют размер 256KiB.

этих двух банков могут быть использованы U-Boot в соответствии с этим документом:

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

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

С U-Boot-OMAP3/платы/ти/ti8168/config.mk, кажется, U-Boot использует OMC1

TI_LOAD_ADDR = 0x40400000

Это объясняет, почему ваш 116KiB U-Boot изображение может поместиться в внутреннюю память DM8168.