docs(juno): update TF-A build instructions

Clean up instructions for building/running TF-A on the
Juno platform and add correct link to SCP binaries.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: I536f98082e167edbf45f29ca23cc0db44687bb3b
This commit is contained in:
Zelalem 2021-05-12 20:41:54 -05:00
parent 57dde21207
commit 92473b3be0
1 changed files with 28 additions and 21 deletions

View File

@ -12,24 +12,21 @@ Running software on Juno
This version of TF-A has been tested on variants r0, r1 and r2 of Juno. This version of TF-A has been tested on variants r0, r1 and r2 of Juno.
To execute the software stack on Juno, the version of the Juno board recovery To run TF-A on Juno, you need to first prepare an SD card with Juno software
image indicated in the `Linaro Release Notes`_ must be installed. If you have an stack that includes TF-A. This version of TF-A is tested with pre-built
earlier version installed or are unsure which version is installed, please `Linaro release software stack`_ version 20.01. You can alternatively
re-install the recovery image by following the build the software stack yourself by following the
`Instructions for using Linaro's deliverables on Juno`_. `Juno platform software user guide`_. Once you prepare the software stack
on an SD card, you can replace the ``bl1.bin`` and ``fip.bin``
binaries in the ``SOFTWARE/`` directory with custom built TF-A binaries.
Preparing TF-A images Preparing TF-A images
--------------------- ---------------------
After building TF-A, the files ``bl1.bin`` and ``fip.bin`` need copying to the
``SOFTWARE/`` directory of the Juno SD card.
Creating a Firmware Image Package (FIP)
---------------------------------------
This section provides Juno and FVP specific instructions to build Trusted This section provides Juno and FVP specific instructions to build Trusted
Firmware, obtain the additional required firmware, and pack it all together in Firmware, obtain the additional required firmware, and pack it all together in
a single FIP binary. It assumes that a Linaro release has been installed. a single FIP binary. It assumes that a Linaro release software stack has been
installed.
.. note:: .. note::
Pre-built binaries for AArch32 are available from Linaro Release 16.12 Pre-built binaries for AArch32 are available from Linaro Release 16.12
@ -57,9 +54,16 @@ a single FIP binary. It assumes that a Linaro release has been installed.
make realclean make realclean
#. Obtain SCP_BL2 (Juno) and BL33 (all platforms) #. Obtain SCP binaries (Juno)
Use the fiptool to extract the SCP_BL2 and BL33 images from the FIP This version of TF-A is tested with SCP version 2.8.0 on Juno. You can
download pre-built SCP binaries (``scp_bl1.bin`` and ``scp_bl2.bin``)
from `TF-A downloads page`_. Alternatively, you can `build
the binaries from source`_.
#. Obtain BL33 (all platforms)
Use the fiptool to extract the BL33 image from the FIP
package included in the Linaro release: package included in the Linaro release:
.. code:: shell .. code:: shell
@ -71,8 +75,7 @@ a single FIP binary. It assumes that a Linaro release has been installed.
./tools/fiptool/fiptool unpack <path-to-linaro-release>/[SOFTWARE]/fip.bin ./tools/fiptool/fiptool unpack <path-to-linaro-release>/[SOFTWARE]/fip.bin
The unpack operation will result in a set of binary images extracted to the The unpack operation will result in a set of binary images extracted to the
current working directory. The SCP_BL2 image corresponds to current working directory. BL33 corresponds to ``nt-fw.bin``.
``scp-fw.bin`` and BL33 corresponds to ``nt-fw.bin``.
.. note:: .. note::
The fiptool will complain if the images to be unpacked already The fiptool will complain if the images to be unpacked already
@ -102,7 +105,7 @@ a single FIP binary. It assumes that a Linaro release has been installed.
.. code:: shell .. code:: shell
make PLAT=juno BL33=nt-fw.bin SCP_BL2=scp-fw.bin all fip make PLAT=juno BL33=nt-fw.bin SCP_BL2=scp_bl2.bin all fip
For AArch32: For AArch32:
@ -144,7 +147,7 @@ a single FIP binary. It assumes that a Linaro release has been installed.
.. code:: shell .. code:: shell
make ARCH=aarch64 PLAT=juno JUNO_AARCH32_EL3_RUNTIME=1 \ make ARCH=aarch64 PLAT=juno JUNO_AARCH32_EL3_RUNTIME=1 \
BL33=nt-fw.bin SCP_BL2=scp-fw.bin \ BL33=nt-fw.bin SCP_BL2=scp_bl2.bin \
BL32=<path-to-temporary>/bl32.bin all fip BL32=<path-to-temporary>/bl32.bin all fip
The resulting BL1 and FIP images may be found in: The resulting BL1 and FIP images may be found in:
@ -159,6 +162,8 @@ The resulting BL1 and FIP images may be found in:
./build/fvp/release/bl1.bin ./build/fvp/release/bl1.bin
./build/fvp/release/fip.bin ./build/fvp/release/fip.bin
After building TF-A, the files ``bl1.bin``, ``fip.bin`` and ``scp_bl1.bin``
need to be copied to the ``SOFTWARE/`` directory on the Juno SD card.
Booting Firmware Update images Booting Firmware Update images
------------------------------ ------------------------------
@ -236,10 +241,12 @@ configure it.
-------------- --------------
*Copyright (c) 2019, Arm Limited. All rights reserved.* *Copyright (c) 2019-2021, Arm Limited. All rights reserved.*
.. _Linaro Release Notes: https://community.arm.com/dev-platforms/w/docs/226/old-release-notes .. _Linaro release software stack: http://releases.linaro.org/members/arm/platforms/
.. _Instructions for using Linaro's deliverables on Juno: https://community.arm.com/dev-platforms/w/docs/303/juno .. _Juno platform software user guide: https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms.git/about/docs/juno/user-guide.rst
.. _TF-A downloads page: https://downloads.trustedfirmware.org/tf-a/css_scp_2.8.0/juno/
.. _build the binaries from source: https://github.com/ARM-software/SCP-firmware/blob/master/user_guide.md#scp-firmware-user-guide
.. _Arm Platforms Portal: https://community.arm.com/dev-platforms/ .. _Arm Platforms Portal: https://community.arm.com/dev-platforms/
.. _Juno Getting Started Guide: http://infocenter.arm.com/help/topic/com.arm.doc.dui0928e/DUI0928E_juno_arm_development_platform_gsg.pdf .. _Juno Getting Started Guide: http://infocenter.arm.com/help/topic/com.arm.doc.dui0928e/DUI0928E_juno_arm_development_platform_gsg.pdf
.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf .. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf