aboutsummaryrefslogtreecommitdiff
path: root/docs/getting_started/user-guide.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started/user-guide.rst')
-rw-r--r--docs/getting_started/user-guide.rst98
1 files changed, 49 insertions, 49 deletions
diff --git a/docs/getting_started/user-guide.rst b/docs/getting_started/user-guide.rst
index a4aa1a79..42040275 100644
--- a/docs/getting_started/user-guide.rst
+++ b/docs/getting_started/user-guide.rst
@@ -44,7 +44,7 @@ Tools
Install the required packages to build TF-A with the following command:
-::
+.. code:: shell
sudo apt-get install device-tree-compiler build-essential gcc make git libssl-dev
@@ -106,14 +106,14 @@ in the `Linux master tree`_ *scripts* directory, then set the ``CHECKPATCH``
environment variable to point to ``checkpatch.pl`` (with the other 2 files in
the same directory) and build the `checkcodebase` target:
-::
+.. code:: shell
make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkcodebase
To just check the style on the files that differ between your local branch and
the remote master, use:
-::
+.. code:: shell
make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkpatch
@@ -129,13 +129,13 @@ Building TF-A
For AArch64:
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
For AArch32:
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-linux-gnueabihf-
@@ -153,7 +153,7 @@ Building TF-A
For AArch64 using Arm Compiler 6:
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
make CC=<path-to-armclang>/bin/armclang PLAT=<platform> all
@@ -164,7 +164,7 @@ Building TF-A
For AArch64 using clang:
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
make CC=<path-to-clang>/bin/clang PLAT=<platform> all
@@ -173,13 +173,13 @@ Building TF-A
For AArch64:
- ::
+ .. code:: shell
make PLAT=<platform> all
For AArch32:
- ::
+ .. code:: shell
make PLAT=<platform> ARCH=aarch32 AARCH32_SP=sp_min all
@@ -222,7 +222,7 @@ Building TF-A
- Build products for a specific build variant can be removed using:
- ::
+ .. code:: shell
make DEBUG=<D> PLAT=<platform> clean
@@ -230,7 +230,7 @@ Building TF-A
The build tree can be removed completely using:
- ::
+ .. code:: shell
make realclean
@@ -935,7 +935,7 @@ Debugging options
To compile a debug version and make the build more verbose use
-::
+.. code:: shell
make PLAT=<platform> DEBUG=1 V=1 all
@@ -955,7 +955,7 @@ platforms** section in the `Firmware Design`_).
Extra debug options can be passed to the build system by setting ``CFLAGS`` or
``LDFLAGS``:
-.. code:: makefile
+.. code:: shell
CFLAGS='-O0 -gdwarf-2' \
make PLAT=<platform> DEBUG=1 V=1 all
@@ -996,7 +996,7 @@ must be recompiled as well. For more information on SPs and SPDs, see the
First clean the TF-A build directory to get rid of any previous BL31 binary.
Then to build the TSP image use:
-::
+.. code:: shell
make PLAT=<platform> SPD=tspd all
@@ -1024,13 +1024,13 @@ and BL33 images.
For AArch64:
-::
+.. code:: shell
make PLAT=fvp BL33=<path-to>/bl33.bin fip
For AArch32:
-::
+.. code:: shell
make PLAT=fvp ARCH=aarch32 AARCH32_SP=sp_min BL33=<path-to>/bl33.bin fip
@@ -1046,13 +1046,13 @@ steps:
It is recommended to remove old artifacts before building the tool:
-::
+.. code:: shell
make -C tools/fiptool clean
Build the tool:
-::
+.. code:: shell
make [DEBUG=1] [V=1] fiptool
@@ -1067,7 +1067,7 @@ options.
Example 1: create a new Firmware package ``fip.bin`` that contains BL2 and BL31:
-::
+.. code:: shell
./tools/fiptool/fiptool create \
--tb-fw build/<platform>/<build-type>/bl2.bin \
@@ -1076,13 +1076,13 @@ Example 1: create a new Firmware package ``fip.bin`` that contains BL2 and BL31:
Example 2: view the contents of an existing Firmware package:
-::
+.. code:: shell
./tools/fiptool/fiptool info <path-to>/fip.bin
Example 3: update the entries of an existing Firmware package:
-::
+.. code:: shell
# Change the BL2 from Debug to Release version
./tools/fiptool/fiptool update \
@@ -1091,14 +1091,14 @@ Example 3: update the entries of an existing Firmware package:
Example 4: unpack all entries from an existing Firmware package:
-::
+.. code:: shell
# Images will be unpacked to the working directory
./tools/fiptool/fiptool unpack <path-to>/fip.bin
Example 5: remove an entry from an existing Firmware package:
-::
+.. code:: shell
./tools/fiptool/fiptool remove \
--tb-fw build/<platform>/debug/fip.bin
@@ -1168,7 +1168,7 @@ images with support for these features:
Example of command line using RSA development keys:
- ::
+ .. code:: shell
MBEDTLS_DIR=<path of the directory containing mbed TLS sources> \
make PLAT=<platform> TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 \
@@ -1225,7 +1225,7 @@ The ``cert_create`` tool is built as part of the TF-A build process when the
previous section), but it can also be built separately with the following
command:
-::
+.. code:: shell
make PLAT=<platform> [DEBUG=1] [V=1] certtool
@@ -1234,14 +1234,14 @@ For platforms that require their own IDs in certificate files, the generic
platform must define its IDs within a ``platform_oid.h`` header file for the
build to succeed.
-::
+.. code:: shell
make PLAT=<platform> USE_TBBR_DEFS=0 [DEBUG=1] [V=1] certtool
``DEBUG=1`` builds the tool in debug mode. ``V=1`` makes the build process more
verbose. The following command should be used to obtain help about the tool:
-::
+.. code:: shell
./tools/cert_create/cert_create -h
@@ -1270,7 +1270,7 @@ section for more info on selecting the right FDT to use.
#. Clean the working directory
- ::
+ .. code:: shell
make realclean
@@ -1279,7 +1279,7 @@ section for more info on selecting the right FDT to use.
Use the fiptool to extract the SCP_BL2 and BL33 images from the FIP
package included in the Linaro release:
- ::
+ .. code:: shell
# Build the fiptool
make [DEBUG=1] [V=1] fiptool
@@ -1300,7 +1300,7 @@ section for more info on selecting the right FDT to use.
#. Build TF-A images and create a new FIP for FVP
- ::
+ .. code:: shell
# AArch64
make PLAT=fvp BL33=nt-fw.bin all fip
@@ -1315,7 +1315,7 @@ section for more info on selecting the right FDT to use.
Building for AArch64 on Juno simply requires the addition of ``SCP_BL2``
as a build parameter.
- ::
+ .. code:: shell
make PLAT=juno BL33=nt-fw.bin SCP_BL2=scp-fw.bin all fip
@@ -1328,13 +1328,13 @@ section for more info on selecting the right FDT to use.
- Before building BL32, the environment variable ``CROSS_COMPILE`` must point
to the AArch32 Linaro cross compiler.
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-linux-gnueabihf-
- Build BL32 in AArch32.
- ::
+ .. code:: shell
make ARCH=aarch32 PLAT=juno AARCH32_SP=sp_min \
RESET_TO_SP_MIN=1 JUNO_AARCH32_EL3_RUNTIME=1 bl32
@@ -1349,14 +1349,14 @@ section for more info on selecting the right FDT to use.
- Before building BL1 and BL2, the environment variable ``CROSS_COMPILE``
must point to the AArch64 Linaro cross compiler.
- ::
+ .. code:: shell
export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
- The following parameters should be used to build BL1 and BL2 in AArch64
and point to the BL32 file.
- ::
+ .. code:: shell
make ARCH=aarch64 PLAT=juno JUNO_AARCH32_EL3_RUNTIME=1 \
BL33=nt-fw.bin SCP_BL2=scp-fw.bin \
@@ -1494,7 +1494,7 @@ clear the mailbox at start-up.
One way to do that is to create an 8-byte file containing all zero bytes using
the following command:
-::
+.. code:: shell
dd if=/dev/zero of=mailbox.dat bs=1 count=8
@@ -1564,7 +1564,7 @@ used when compiling TF-A. For example, the following command will create a FIP
without a BL33 and prepare to jump to a BL33 image loaded at address
0x80000000:
-::
+.. code:: shell
make PRELOADED_BL33_BASE=0x80000000 PLAT=fvp all fip
@@ -1579,7 +1579,7 @@ memory (like in FVP).
For example, if the kernel is loaded at ``0x80080000`` and the DTB is loaded at
address ``0x82000000``, the firmware can be built like this:
-::
+.. code:: shell
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=fvp DEBUG=1 \
@@ -1627,7 +1627,7 @@ offset in ``INITRD_START`` has to be removed.
And the FVP binary can be run with the following command:
-::
+.. code:: shell
<path-to>/FVP_Base_AEMv8A-AEMv8A \
-C pctl.startup=0.0.0.0 \
@@ -1801,7 +1801,7 @@ Running on the Foundation FVP with reset to BL1 entrypoint
The following ``Foundation_Platform`` parameters should be used to boot Linux with
4 CPUs using the AArch64 build of TF-A.
-::
+.. code:: shell
<path-to>/Foundation_Platform \
--cores=4 \
@@ -1837,7 +1837,7 @@ Running on the AEMv8 Base FVP with reset to BL1 entrypoint
The following ``FVP_Base_RevC-2xAEMv8A`` parameters should be used to boot Linux
with 8 CPUs using the AArch64 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_RevC-2xAEMv8A \
-C pctl.startup=0.0.0.0 \
@@ -1860,7 +1860,7 @@ Running on the AEMv8 Base FVP (AArch32) with reset to BL1 entrypoint
The following ``FVP_Base_AEMv8A-AEMv8A`` parameters should be used to boot Linux
with 8 CPUs using the AArch32 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_AEMv8A-AEMv8A \
-C pctl.startup=0.0.0.0 \
@@ -1888,7 +1888,7 @@ Running on the Cortex-A57-A53 Base FVP with reset to BL1 entrypoint
The following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to
boot Linux with 8 CPUs using the AArch64 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_Cortex-A57x4-A53x4 \
-C pctl.startup=0.0.0.0 \
@@ -1906,7 +1906,7 @@ Running on the Cortex-A32 Base FVP (AArch32) with reset to BL1 entrypoint
The following ``FVP_Base_Cortex-A32x4`` model parameters should be used to
boot Linux with 4 CPUs using the AArch32 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_Cortex-A32x4 \
-C pctl.startup=0.0.0.0 \
@@ -1924,7 +1924,7 @@ Running on the AEMv8 Base FVP with reset to BL31 entrypoint
The following ``FVP_Base_RevC-2xAEMv8A`` parameters should be used to boot Linux
with 8 CPUs using the AArch64 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_RevC-2xAEMv8A \
-C pctl.startup=0.0.0.0 \
@@ -1979,7 +1979,7 @@ Running on the AEMv8 Base FVP (AArch32) with reset to SP_MIN entrypoint
The following ``FVP_Base_AEMv8A-AEMv8A`` parameters should be used to boot Linux
with 8 CPUs using the AArch32 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_AEMv8A-AEMv8A \
-C pctl.startup=0.0.0.0 \
@@ -2019,7 +2019,7 @@ Running on the Cortex-A57-A53 Base FVP with reset to BL31 entrypoint
The following ``FVP_Base_Cortex-A57x4-A53x4`` model parameters should be used to
boot Linux with 8 CPUs using the AArch64 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_Cortex-A57x4-A53x4 \
-C pctl.startup=0.0.0.0 \
@@ -2047,7 +2047,7 @@ Running on the Cortex-A32 Base FVP (AArch32) with reset to SP_MIN entrypoint
The following ``FVP_Base_Cortex-A32x4`` model parameters should be used to
boot Linux with 4 CPUs using the AArch32 build of TF-A.
-::
+.. code:: shell
<path-to>/FVP_Base_Cortex-A32x4 \
-C pctl.startup=0.0.0.0 \
@@ -2096,7 +2096,7 @@ The SYSTEM SUSPEND is a PSCI API which can be used to implement system suspend
to RAM. For more details refer to section 5.16 of `PSCI`_. To test system suspend
on Juno, at the linux shell prompt, issue the following command:
-::
+.. code:: shell
echo +10 > /sys/class/rtc/rtc0/wakealarm
echo -n mem > /sys/power/state