U-boot

Материал из WIKI ELVEES

Обратно на СКИФ

Вторичный загрузчик MCom03 – U-boot, SBL https://github.com/elvees/u-boot/tree/mcom03, https://github.com/elvees/mcom03-sbl

Как правильно собирать SBL?

Предлагаем следующий вариант сборки:
Инструкция расположена по ссылке: https://dist.elvees.com/mcom03/docs/linux-sdk/latest/components/buildroot.html#buildroot
То есть, Вы берете архив с исходниками, распаковываете его, собираете. SBL собирается командами

make clean

make mcom03_defconfig FRAGMENTS=<your_fragment>, где <your_fragment> – файл вашей разработки в external-mcom03/fragments, в котором будут указаны специфичные для Вашего проекта пакеты и зависимости.

make mcom03-sbl

т.е., собираются не все сконфигурированные компоненты (make all), а только требуемые для SBL (make mcom03-sbl). Сборка занимает, ориентировочно, 20 минут (Если HOST-компоненты уже собраны).

В случае, если у Вас есть какие-то локальные изменения в репозитариях ddrinit/arm-trusted-firmware/u-boot, то Вы можете подключить их к системе сборки, см. 1.4.2

Возможен ли перенос существующей системы загрузки(SBL → DDRInit → SBL → TF-A → U-Boot → Linux) на вариант без использования QSPI0 памяти, используя загрузку с SDMMC0(eMMC)?

Да, загрузка с eMMC возможна. Для этой реализации необходимо выдержать задержку 500мс снятия RESET на процессоре после включения питания на микросхемах eMMC. Примечание: Загрузчика напрямую с eMMC у нас нет, т.к. ограниченные возможности тестирования.

U-boot не видит устройства USB3.0

Поддержки USB 3.0 в U-Boot нет, для работы требуется портировать драйвер dwc3-mcom03 из Linux. Обходной метод: Некоторые внешние USB-хабы могут переводить устройства в режим 2.0, в таком случае подключённое устройство будет определяться и работать на скоростях 2.0.

Что означает: SECURE ERR 3 - в терминале?

Это значит, что на выводах BOOT выставлено значение 1, 2, 4 или 5. При этом BootROM ожидает образ с заголовками (который не XIP). Но необходимые заголовки в прошитом образе не были найдены. Если вы используете обычный образ в SPI (sbl.bin), то надо подать на все три пина BOOT нули (режим XIP).