Allwinner: Сборка TF-A

Проект Trusted Firmware-A предоставляет эталонную реализацию безопасного программного обеспечения для процессоров класса ARMv7-A и ARMv8-A.

Настройка

Вам нужно объявить переменную окружения PLAT, которая будет содержать имя целевой платформы для сборки:

export PLAT="целевая платформа"

Целевые платформы для сборки:

Сборка TF-A специфична для каждого SoC, в частности, специфично значение переменной PLAT, которая передаётся системе сборки make. Вы можете воспользоваться значениями из таблицы ниже:

SoCПлатформа
Allwinner A64sun50i_a64
Allwinner H5sun50i_a64
Allwinner H6sun50i_h6
Allwinner H616sun50i_h616
Allwinner H313sun50i_h616
Allwinner T507sun50i_h616
Allwinner R329sun50i_r329

Для поиска всех целевых платформ введите:

find plat/allwinner -name platform.mk

В файле docs/plat/allwinner.rst содержится дополнительная информация и приведены некоторые опции сборки.

Например, если в моей плате используется SoC Allwinner H6, то значение переменной PLAT будет равно sun50i_h6:

export PLAT="sun50i_h6"

Сборка

make CROSS_COMPILE=$LFA_TGT- DEBUG=1

Настройка окружения

Теперь вам нужно объявить переменную окружения BL31, содержащую путь до скомпилированной микропрограммы:

export BL31=$PWD/build/$PLAT/debug/bl31.bin

Необходимости в переменной PLAT больше нет, поэтому можете её удалить:

unset PLAT

Внимание

Не удаляйте эту директорию с исходным кодом TF-A (в которой вы его собирали) до тех пор, пока не соберёте загрузчик U-Boot!

Содержимое пакета

  • Установленные файлы: $PWD/build/$PLAT/debug/bl31.bin

Описание компонентов

  • $PWD/build/$PLAT/debug/bl31.bin — требуемый для сборки U-Boot компонент TF-A.