Rockchip: Сборка TF-A/rkbin

Внимание

Перед тем, как начинать сборку TF-A или rkbin, определитесь, что вам нужно собирать. Для ряда SoC подойдёт TF-A, а для некоторых — rkbin. На данной странице приведены инструкции для сборки как TF-A, так и rkbin.

rkbin требуется для следующих SoC:

  • rk3308
  • rk3568 (для него можно использовать либо TF-A, либо rkbin)
  • rk3588

Если для вашего SoC нужен rkbin, пропустите сборку TF-A. Если для вашего SoC нужен TF-A, пропустите сборку rkbin.

TF-A

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

Настройка

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

export PLAT="rkXXXX"

Замените rkXXXX на имя вашего SoC, например, для Rockchip RK3399 значение переменной PLAT будет rk3399.

Сборка

make realclean
make CROSS_COMPILE=$LFA_TGT-

Установка

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

export BL31="$PWD/путь/до/bl31"

Для PX30:

export BL31=$PWD/build/px30/release/bl31/bl31.elf

rkbin

Прошивка BL31 для тех Rockchip SoC, для которых не обеспечена поддержка BL31 из состава TF-A.

Установка

В директории rkbin/bin/ содержатся поддиректории для разных семейств SoC Rockchip. Выберите нужную поддиректорию и найдите в ней файл BL31. Экспортируйте переменную окружения BL31, которая будет содержать путь до файла BL31:

export BL31="$PWD/путь/до/bl31"

Например:

export BL31="$PWD/rkbin/bin/rk33/rk3308_bl31_v2.26.elf"

Внимание

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