1Arm Versatile Express 2===================== 3 4Versatile Express (VE) family development platform provides an ultra fast 5environment for prototyping Armv7 System-on-Chip designs. VE Fixed Virtual 6Platforms (FVP) are simulations of Versatile Express boards. The platform in 7Trusted Firmware-A has been verified with Arm Cortex-A5 and Cortex-A7 VE FVP's. 8This platform is tested on and only expected to work with single core models. 9 10Boot Sequence 11------------- 12 13BL1 --> BL2 --> BL32(sp_min) --> BL33(u-boot) --> Linux kernel 14 15How to build 16------------ 17 18Code Locations 19~~~~~~~~~~~~~~ 20- `U-boot <https://git.linaro.org/landing-teams/working/arm/u-boot.git>`__ 21 22- `Trusted Firmware-A <https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git>`__ 23 24Build Procedure 25~~~~~~~~~~~~~~~ 26 27- Obtain arm toolchain. The software stack has been verified with linaro 6.2 28 `arm-linux-gnueabihf <https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/>`__. 29 Set the CROSS_COMPILE environment variable to point to the toolchain folder. 30 31- Fetch and build u-boot. 32 Make the .config file using the command: 33 34 .. code:: shell 35 36 make ARCH=arm vexpress_aemv8a_aarch32_config 37 38 Make the u-boot binary for Cortex-A5 using the command: 39 40 .. code:: shell 41 42 make ARCH=arm SUPPORT_ARCH_TIMER=no 43 44 Make the u-boot binary for Cortex-A7 using the command: 45 46 .. code:: shell 47 48 make ARCH=arm 49 50 51- Build TF-A: 52 53 The make command for Cortex-A5 is: 54 55 .. code:: shell 56 57 make PLAT=fvp_ve ARCH=aarch32 ARM_ARCH_MAJOR=7 ARM_CORTEX_A5=yes \ 58 AARCH32_SP=sp_min FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A5x1.dts \ 59 ARM_XLAT_TABLES_LIB_V1=1 BL33=<path_to_u-boot.bin> all fip 60 61 The make command for Cortex-A7 is: 62 63 .. code:: shell 64 65 make PLAT=fvp_ve ARCH=aarch32 ARM_ARCH_MAJOR=7 ARM_CORTEX_A7=yes \ 66 AARCH32_SP=sp_min FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A7x1.dts \ 67 BL33=<path_to_u-boot.bin> all fip 68 69Run Procedure 70~~~~~~~~~~~~~ 71 72The following model parameters should be used to boot Linux using the build of 73Trusted Firmware-A made using the above make commands: 74 75 .. code:: shell 76 77 ./<path_to_model> <path_to_bl1.elf> \ 78 -C motherboard.flashloader1.fname=<path_to_fip.bin> \ 79 --data cluster.cpu0=<path_to_zImage>@0x80080000 \ 80 --data cluster.cpu0=<path_to_ramdisk>@0x84000000 81 82-------------- 83 84*Copyright (c) 2019, Arm Limited. All rights reserved.* 85