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

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 <usama.arif@arm.com>
Showing with 81 additions and 0 deletions
+81 -0
Description
===========
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 <https://git.linaro.org/landing-teams/working/arm/u-boot.git>`__
- `arm-trusted-firmware <https://github.com/ARM-software/arm-trusted-firmware>`__
Build Procedure
---------------
- Obtain arm toolchain. The software stack has been verified with linaro 6.2
`arm-linux-gnueabihf <https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/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 ARCH=arm SUPPORT_ARCH_TIMER=no
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