index.rst 2.4 KB

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