3.1.1.2. Build
Build BL-1
Note
The following commands are intended to be run from the root of the TF-A tree unless otherwise specified. The root of the TF-A tree is the top-level directory and can be identified by looking for the “licenses” directory.
$ cd <path to tf-a dir>
$ make CROSS_COMPILE="$CROSS_COMPILE_64" ARCH=aarch64 PLAT=k3 TARGET_BOARD=am62l am62l_bl1
<or to build bl-1 and bl-31 binaries from TF-A repo>
$ make CROSS_COMPILE="$CROSS_COMPILE_64" ARCH=aarch64 PLAT=k3 TARGET_BOARD=am62l
3.1.1.2.1. Build U-Boot
Note
The following commands are intended to be run from the root of the U-Boot tree unless otherwise specified. The root of the U-Boot tree is the top-level directory and can be identified by looking for the “MAINTAINERS” file.
Prebuilt Images
Several prebuilt images are required from the TI Processor SDK for building U-Boot on K3 based platforms.
TF-A (BL-1 and BL-31): Refer to ARM Trusted Firmware-A for more information
ti-linux-firmware (BINMAN_INDIRS): Prebuilt TIFS binaries are available in ti-linux-firmware.
All of these binaries are available in the SDK at <path to tisdk>/board-support/prebuilt-images>
Board |
SD / eMMC / UART / OSPI / USB DFU / USB MSC |
|---|---|
AM62LX EVM |
|
Note
Where to get the sources: Getting the Source Code
$ export UBOOT_DIR=<path-to-ti-u-boot>
$ export TI_LINUX_FW_DIR=<path-to-ti-linux-firmware>
$ export TFA_DIR=<path-to-arm-trusted-firmware>
$ export OPTEE_DIR=<path-to-ti-optee-os>
Note
The instructions below assume all binaries are built manually.
For instructions to build bl1.bin or bl31.bin go
to: ARM Trusted Firmware-A.
BINMAN_INDIRS can point to
<path-to-tisdk>/board-support/prebuilt-images to use
the pre-built binaries that come in the pre-built SDK.
$ cd $UBOOT_DIR
$ make CROSS_COMPILE="$CROSS_COMPILE_64" am62lx_evm_defconfig
$ make CROSS_COMPILE="$CROSS_COMPILE_64" \
BL1=$TFA_DIR/build/k3/am62l/release/bl1.bin \
BL31=$TFA_DIR/build/k3/am62l/release/bl31.bin \
BINMAN_INDIRS=$TI_LINUX_FW_DIR \
TEE=$OPTEE_DIR/out/arm-plat-k3/core/tee-pager_v2.bin
Note
BINMAN_INDIRS is used to fetch the TIFS binaries from
<path to ti-linux-firmware>/ti-sysfw/. If using the SDK,
BINMAN_INDIRS can point to
<path to SDK>/board-support/prebuilt-images. Else any
folder where SYSFW binaries are present in
<path to folder>/ti-sysfw/ can be used. Please make sure
to use the absolute path.