xref: /arm-trusted-firmware/docs/plat/arm/fvp_r/index.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluARM V8-R64 Fixed Virtual Platform (FVP)
2*91f16700Schasinglulu=======================================
3*91f16700Schasinglulu
4*91f16700SchasingluluSome of the features of Armv8-R AArch64 FVP platform referenced in Trusted
5*91f16700SchasingluluBoot R-class include:
6*91f16700Schasinglulu
7*91f16700Schasinglulu- Secure World Support Only
8*91f16700Schasinglulu- EL2 as Maximum EL support (No EL3)
9*91f16700Schasinglulu- MPU Support only at EL2
10*91f16700Schasinglulu- MPU or MMU Support at EL0/EL1
11*91f16700Schasinglulu- AArch64 Support Only
12*91f16700Schasinglulu- Trusted Board Boot
13*91f16700Schasinglulu
14*91f16700SchasingluluFurther information on v8-R64 FVP is available at `info <https://developer.arm.com/documentation/ddi0600/latest/>`_
15*91f16700Schasinglulu
16*91f16700SchasingluluBoot Sequence
17*91f16700Schasinglulu-------------
18*91f16700Schasinglulu
19*91f16700SchasingluluBL1 –> BL33
20*91f16700Schasinglulu
21*91f16700SchasingluluThe execution begins from BL1 which loads the BL33 image, a boot-wrapped (bootloader + Operating System)
22*91f16700SchasingluluOperating System, from FIP to DRAM.
23*91f16700Schasinglulu
24*91f16700SchasingluluBuild Procedure
25*91f16700Schasinglulu~~~~~~~~~~~~~~~
26*91f16700Schasinglulu
27*91f16700Schasinglulu-  Obtain arm `toolchain <https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads>`_.
28*91f16700Schasinglulu   Set the CROSS_COMPILE environment variable to point to the toolchain folder.
29*91f16700Schasinglulu
30*91f16700Schasinglulu-  Build TF-A:
31*91f16700Schasinglulu
32*91f16700Schasinglulu   .. code:: shell
33*91f16700Schasinglulu
34*91f16700Schasinglulu      make PLAT=fvp_r BL33=<path_to_os.bin> all fip
35*91f16700Schasinglulu
36*91f16700Schasinglulu   Enable TBBR by adding the following options to the make command:
37*91f16700Schasinglulu
38*91f16700Schasinglulu   .. code:: shell
39*91f16700Schasinglulu
40*91f16700Schasinglulu      MBEDTLS_DIR=<path_to_mbedtls_directory>  \
41*91f16700Schasinglulu      TRUSTED_BOARD_BOOT=1 \
42*91f16700Schasinglulu      GENERATE_COT=1 \
43*91f16700Schasinglulu      ARM_ROTPK_LOCATION=devel_rsa  \
44*91f16700Schasinglulu      ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem
45*91f16700Schasinglulu
46*91f16700Schasinglulu*Copyright (c) 2021, Arm Limited. All rights reserved.*
47