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