Commit 5dbc783a authored by Usama Arif's avatar Usama Arif

Documentation for Versatile Express Fixed Virtual Platforms

This documentation contains information about the boot sequence,
code location and build procedure for fvp_ve platform.

Change-Id: I339903f663cc625cfabc75ed8e4accb8b2c3917c
Signed-off-by: default avatarUsama Arif <>
parent 8f73663b
Versatile Express (VE) family development platform provides an
ultra fast environment for prototyping arm-v7 System-on-Chip designs.
VE Fixed Virtual Platforms (FVP) are simulations of Versatile Express boards.
The platform in arm-trusted-firmware has been verified with Arm Cortex-A5
and Cortex-A7 VE FVP's. This platform is tested on and only expected to work
with single core models.
Boot Sequence
BL1 --> BL2 --> BL32(sp_min) --> BL33(u-boot) --> Linux kernel
How to build
Code Locations
- `U-boot <>`__
- `arm-trusted-firmware <>`__
Build Procedure
- Obtain arm toolchain. The software stack has been verified with linaro 6.2
`arm-linux-gnueabihf <>`__.
Set the CROSS_COMPILE environment variable to point to the toolchain folder.
- Fetch and build u-boot.
Make the .config file using the command:
.. code:: shell
make ARCH=arm vexpress_aemv8a_aarch32_config
Make the u-boot binary for Cortex-A5 using the command:
.. code:: shell
Make the u-boot binary for Cortex-A7 using the command:
.. code:: shell
make ARCH=arm
- Build TF-A:
The make command for Cortex-A5 is:
.. code:: shell
make PLAT=fvp_ve ARCH=aarch32 ARM_ARCH_MAJOR=7 ARM_CORTEX_A5=yes \
AARCH32_SP=sp_min FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A5x1.dts \
ARM_XLAT_TABLES_LIB_V1=1 BL33=<path_to_u-boot.bin> all fip
The make command for Cortex-A7 is:
.. code:: shell
make PLAT=fvp_ve ARCH=aarch32 ARM_ARCH_MAJOR=7 ARM_CORTEX_A7=yes \
AARCH32_SP=sp_min FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A7x1.dts \
BL33=<path_to_u-boot.bin> all fip
Run Procedure
The following model parameters should be used to boot Linux using the build of
arm-trusted-firmware-a made using the above make commands:
.. code:: shell
./<path_to_model> <path_to_bl1.elf> \
-C motherboard.flashloader1.fname=<path_to_fip.bin> \
--data cluster.cpu0=<path_to_zImage>@0x80080000 \
--data cluster.cpu0=<path_to_ramdisk>@0x84000000
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment