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