1.. _fvp_base_revc_2xaemv8a: 2 3ARM BASE RevC AEMv8A Fixed Virtual Platforms 4############################################ 5 6Overview 7******** 8 9This board configuration will use ARM Fixed Virtual Platforms(FVP) to emulate 10a generic Armv8-A 64-bit hardware platform. 11 12This configuration provides support for a generic Armv8-A 64-bit CPU and 13these devices: 14 15* GICv3 interrupt controller 16* ARM architected (Generic) timer 17* PL011 UART controller 18 19Hardware 20******** 21 22Supported Features 23================== 24 25The following hardware features are supported: 26 27+-----------------------+------------+----------------------+ 28| Interface | Controller | Driver/Component | 29+=======================+============+======================+ 30| GICv3 | on-chip | interrupt controller | 31+-----------------------+------------+----------------------+ 32| PL011 UART | on-chip | serial port | 33+-----------------------+------------+----------------------+ 34| ARM GENERIC TIMER | on-chip | system clock | 35+-----------------------+------------+----------------------+ 36 37The kernel currently does not support other hardware features on this platform. 38 39Devices 40======== 41 42System Clock 43------------ 44 45This board configuration uses a system clock frequency of 100 MHz. 46 47Serial Port 48----------- 49 50This board configuration uses a single serial communication channel with the 51UART0. 52 53Known Problems or Limitations 54============================== 55 56Programming and Debugging 57************************* 58 59Use this configuration to build basic Zephyr applications and kernel tests in the 60ARM FVP emulated environment, for example, with the :ref:`synchronization_sample`: 61 62.. zephyr-app-commands:: 63 :zephyr-app: samples/synchronization 64 :host-os: unix 65 :board: fvp_base_revc_2xaemv8a 66 :goals: build 67 68This will build an image with the synchronization sample app. 69 70To run with FVP, ARMFVP_BIN_PATH must be set before running: 71 72e.g. export ARMFVP_BIN_PATH=<path/to/fvp/dir> 73 74Running Zephyr at EL1NS 75*********************** 76 77In order to run Zephyr as EL1NS with ``CONFIG_ARMV8_A_NS``, you'll need a proper 78Trusted Firmware loaded in the FVP model. 79 80The ARM TF-A for FVP can be used to run Zephyr as preloaded BL33 payload. 81 82Checkout and Build the TF-A: 83 84.. code-block:: console 85 86 git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git --depth 1 87 cd trusted-firmware-a/ 88 make PLAT=fvp PRELOADED_BL33_BASE="0x88000000" all fip 89 90then export the ``ARMFVP_BL1_FILE` and ``ARMFVP_FIP_FILE`` environment variables: 91 92.. code-block:: console 93 94 export ARMFVP_BL1_FILE=<path/to/tfa-a/build/fvp/release/bl1.bin> 95 export ARMFVP_FIP_FILE=<path/to/tfa-a/build/fvp/release/fip.bin> 96 97Debugging 98========= 99 100Refer to the detailed overview about :ref:`application_debugging`. 101 102Networking 103========== 104 105References 106********** 107 1081. (ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile 1092. AArch64 Exception and Interrupt Handling 1103. https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms 111