mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00
GCC: Upgrade to version 9.2-2019.12 of toolchain
This toolchain provides multiple cross compilers and are publicly available on www.developer.arm.com We thoroughly test TF-A in CI using: AArch32 bare-metal target (arm-none-eabi) AArch64 ELF bare-metal target (aarch64-none-elf) Change-Id: I2360a3ac6705c68dca781b85e9894867df255b3e Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
This commit is contained in:
parent
0348ee4913
commit
de9bf1d8a2
22 changed files with 30 additions and 30 deletions
|
@ -8,13 +8,13 @@ Performing an Initial Build
|
|||
|
||||
.. code:: shell
|
||||
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
|
||||
|
||||
For AArch32:
|
||||
|
||||
.. code:: shell
|
||||
|
||||
export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-eabi-
|
||||
export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-none-eabi-
|
||||
|
||||
It is possible to build TF-A using Clang or Arm Compiler 6. To do so
|
||||
``CC`` needs to point to the clang or armclang binary, which will
|
||||
|
@ -32,7 +32,7 @@ Performing an Initial Build
|
|||
|
||||
.. code:: shell
|
||||
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
|
||||
make CC=<path-to-armclang>/bin/armclang PLAT=<platform> all
|
||||
|
||||
Clang will be selected when the base name of the path assigned to ``CC``
|
||||
|
@ -43,7 +43,7 @@ Performing an Initial Build
|
|||
|
||||
.. code:: shell
|
||||
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
|
||||
make CC=<path-to-clang>/bin/clang PLAT=<platform> all
|
||||
|
||||
- Change to the root directory of the TF-A source tree and build.
|
||||
|
|
|
@ -26,7 +26,7 @@ Toolchain
|
|||
|TF-A| can be built with any of the following *cross-compiler* toolchains that
|
||||
target the Armv7-A or Armv8-A architectures:
|
||||
|
||||
- GCC >= 8.3-2019.03 (from the `Arm Developer website`_)
|
||||
- GCC >= 9.2-2019.12 (from the `Arm Developer website`_)
|
||||
- Clang >= 4.0
|
||||
- Arm Compiler >= 6.0
|
||||
|
||||
|
|
|
@ -26,13 +26,13 @@ To build for machines with an A64 or H5 SoC:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 DEBUG=1 bl31
|
||||
make CROSS_COMPILE=aarch64-none-elf- PLAT=sun50i_a64 DEBUG=1 bl31
|
||||
|
||||
To build for machines with an H6 SoC:
|
||||
|
||||
.. code:: shell
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h6 DEBUG=1 bl31
|
||||
make CROSS_COMPILE=aarch64-none-elf- PLAT=sun50i_h6 DEBUG=1 bl31
|
||||
|
||||
.. _U-Boot documentation: http://git.denx.de/?p=u-boot.git;f=board/sunxi/README.sunxi64;hb=HEAD
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ address ``0x82000000``, the firmware can be built like this:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- \
|
||||
CROSS_COMPILE=aarch64-none-elf- \
|
||||
make PLAT=fvp DEBUG=1 \
|
||||
RESET_TO_BL31=1 \
|
||||
ARM_LINUX_KERNEL_AS_BL33=1 \
|
||||
|
|
|
@ -136,7 +136,7 @@ a single FIP binary. It assumes that a Linaro release has been installed.
|
|||
|
||||
.. code:: shell
|
||||
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
|
||||
|
||||
- The following parameters should be used to build BL1 and BL2 in AArch64
|
||||
and point to the BL32 file.
|
||||
|
|
|
@ -78,7 +78,7 @@ Build Procedure
|
|||
EDK2_OUTPUT_DIR=${EDK2_DIR}/Build/HiKey/${BUILD_OPTION}_${AARCH64_TOOLCHAIN}
|
||||
# Build fastboot for Trusted Firmware-A. It's used for recovery mode.
|
||||
cd ${BUILD_PATH}/atf-fastboot
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=hikey DEBUG=1
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=hikey DEBUG=1
|
||||
# Convert DEBUG/RELEASE to debug/release
|
||||
FASTBOOT_BUILD_OPTION=$(echo ${BUILD_OPTION} | tr '[A-Z]' '[a-z]')
|
||||
cd ${EDK2_DIR}
|
||||
|
|
|
@ -40,7 +40,7 @@ Build Procedure
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=<Target_SoC> bl31
|
||||
|
||||
Target_SoC should be "imx8qm" for i.MX8QM SoC.
|
||||
Target_SoC should be "imx8qx" for i.MX8QX SoC.
|
||||
|
|
|
@ -28,7 +28,7 @@ Build Procedure
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=<Target_SoC> bl31
|
||||
|
||||
Target_SoC should be "imx8mq" for i.MX8MQ SoC.
|
||||
Target_SoC should be "imx8mm" for i.MX8MM SoC.
|
||||
|
|
|
@ -41,7 +41,7 @@ Build Procedure
|
|||
|
||||
.. code:: bash
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=agilex
|
||||
make CROSS_COMPILE=aarch64-none-elf- bl2 fip PLAT=agilex
|
||||
BL33=PEI.ROM
|
||||
|
||||
Install Procedure
|
||||
|
|
|
@ -41,7 +41,7 @@ Build Procedure
|
|||
|
||||
.. code:: bash
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=stratix10
|
||||
make CROSS_COMPILE=aarch64-none-elf- bl2 fip PLAT=stratix10
|
||||
BL33=PEI.ROM
|
||||
|
||||
Install Procedure
|
||||
|
|
|
@ -59,13 +59,13 @@ Build Procedure
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 bl1
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=ls1043 bl1
|
||||
|
||||
Build fip:
|
||||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 fip \
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=ls1043 fip \
|
||||
BL33=u-boot.bin NEED_BL32=yes BL32=tee.bin SPD=opteed
|
||||
|
||||
Deploy TF-A Images
|
||||
|
|
|
@ -9,7 +9,7 @@ Build Instructions
|
|||
|
||||
.. code:: shell
|
||||
|
||||
> export CROSS_COMPILE=/path/to/toolchain/aarch64-linux-gnu-
|
||||
> export CROSS_COMPILE=/path/to/toolchain/aarch64-none-elf-
|
||||
|
||||
(2) Set path for FIP images:
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ In order to build it:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=g12a
|
||||
CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=g12a
|
||||
|
||||
This port has been tested on a SEI510 board. After building it, follow the
|
||||
instructions in the `gxlimg repository` or `U-Boot repository`_, replacing the
|
||||
|
|
|
@ -17,7 +17,7 @@ In order to build it:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=gxbb bl31
|
||||
CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=gxbb bl31
|
||||
|
||||
This port has been tested in a ODROID-C2. After building it, follow the
|
||||
instructions in the `U-Boot repository`_, replacing the mentioned **bl31.bin**
|
||||
|
|
|
@ -17,7 +17,7 @@ In order to build it:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=gxl
|
||||
CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=gxl
|
||||
|
||||
This port has been tested on a Lepotato. After building it, follow the
|
||||
instructions in the `gxlimg repository` or `U-Boot repository`_, replacing the
|
||||
|
|
|
@ -17,4 +17,4 @@ How to Build
|
|||
|
||||
.. code:: shell
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=mt8183 DEBUG=1
|
||||
make CROSS_COMPILE=aarch64-none-elf- PLAT=mt8183 DEBUG=1
|
||||
|
|
|
@ -68,7 +68,7 @@ Build Procedure
|
|||
|
||||
.. code:: bash
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- all fip SPD=none PLAT=poplar
|
||||
make CROSS_COMPILE=aarch64-none-elf- all fip SPD=none PLAT=poplar
|
||||
BL33=u-boot.bin
|
||||
|
||||
- Build l-loader (generated the final fastboot.bin)
|
||||
|
|
|
@ -27,7 +27,7 @@ To build TF-A:
|
|||
|
||||
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git tfa
|
||||
cd tfa
|
||||
export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
export CROSS_COMPILE=aarch64-none-elf-
|
||||
make PLAT=qemu_sbsa all fip
|
||||
|
||||
Images will be placed at build/qemu_sbsa/release (bl1.bin and fip.bin).
|
||||
|
|
|
@ -35,7 +35,7 @@ these images need to get build from the TF-A repository.
|
|||
|
||||
For AARCH64 architectures the build command looks like
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl32
|
||||
make CROSS_COMPILE=aarch64-none-elf- PLAT=rk3399 bl32
|
||||
|
||||
while AARCH32 needs a slightly different command
|
||||
|
||||
|
|
|
@ -315,7 +315,7 @@ Then compile TF-A. For a 32-bit kernel, use the following command line:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
|
||||
RPI3_BL33_IN_AARCH32=1 \
|
||||
BL33=../rpi3-arm-tf-bootstrap/aarch32/el2-bootstrap.bin
|
||||
|
||||
|
@ -323,7 +323,7 @@ For a 64-bit kernel, use this other command line:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
|
||||
BL33=../rpi3-arm-tf-bootstrap/aarch64/el2-bootstrap.bin
|
||||
|
||||
However, enabling PSCI support in a 64-bit kernel is really easy. In the
|
||||
|
@ -340,7 +340,7 @@ For a 64-bit kernel:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
|
||||
PRELOADED_BL33_BASE=0x02000000 \
|
||||
RPI3_PRELOADED_DTB_BASE=0x01000000 \
|
||||
RPI3_DIRECT_LINUX_BOOT=1
|
||||
|
@ -349,7 +349,7 @@ For a 32-bit kernel:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
|
||||
PRELOADED_BL33_BASE=0x02000000 \
|
||||
RPI3_PRELOADED_DTB_BASE=0x01000000 \
|
||||
RPI3_DIRECT_LINUX_BOOT=1 \
|
||||
|
|
|
@ -22,7 +22,7 @@ one universal binary (bl31.bin), which can be built with:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi4 DEBUG=1
|
||||
CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi4 DEBUG=1
|
||||
|
||||
Copy the generated build/rpi4/debug/bl31.bin to the SD card, either
|
||||
renaming it to ``armstub8.bin`` or adding an entry starting with ``armstub=``,
|
||||
|
|
|
@ -27,7 +27,7 @@ TF-A:
|
|||
|
||||
.. code:: shell
|
||||
|
||||
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=k3 SPD=opteed all
|
||||
make CROSS_COMPILE=aarch64-none-elf- PLAT=k3 SPD=opteed all
|
||||
|
||||
OP-TEE:
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue