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| SMSC_91C111 | on-chip | ethernet device | 37+-----------------------+------------+----------------------+ 38 39The kernel currently does not support other hardware features on this platform. 40 41Devices 42======== 43 44System Clock 45------------ 46 47This board configuration uses a system clock frequency of 100 MHz. 48 49Serial Port 50----------- 51 52This board configuration uses a single serial communication channel with the 53UART0. 54 55Known Problems or Limitations 56============================== 57 58Programming and Debugging 59************************* 60 61Environment 62=========== 63 64First, set the ``ARMFVP_BIN_PATH`` environment variable before building. 65Optionally, set ``ARMFVP_EXTRA_FLAGS`` to pass additional arguments to the FVP. 66 67.. code-block:: bash 68 69 export ARMFVP_BIN_PATH=/path/to/fvp/directory 70 71Programming 72=========== 73 74Use this configuration to build basic Zephyr applications and kernel tests in the 75ARM FVP emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample: 76 77.. zephyr-app-commands:: 78 :zephyr-app: samples/synchronization 79 :host-os: unix 80 :board: fvp_base_revc_2xaemv8a 81 :goals: build 82 83This will build an image with the synchronization sample app. 84Then you can run it with ``west build -t run``. 85 86Running Zephyr at EL1NS 87*********************** 88 89In order to run Zephyr as EL1NS with ``CONFIG_ARMV8_A_NS``, you'll need a proper 90Trusted Firmware loaded in the FVP model. 91 92The ARM TF-A for FVP can be used to run Zephyr as preloaded BL33 payload. 93 94Checkout and Build the TF-A: 95 96.. code-block:: console 97 98 git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git --depth 1 99 cd trusted-firmware-a/ 100 make PLAT=fvp PRELOADED_BL33_BASE="0x88000000" all fip 101 102then export the :envvar:`ARMFVP_BL1_FILE` and :envvar:`ARMFVP_FIP_FILE` environment variables: 103 104.. code-block:: console 105 106 export ARMFVP_BL1_FILE=<path/to/tfa-a/build/fvp/release/bl1.bin> 107 export ARMFVP_FIP_FILE=<path/to/tfa-a/build/fvp/release/fip.bin> 108 109Debugging 110========= 111 112Refer to the detailed overview about :ref:`application_debugging`. 113 114Networking 115========== 116 117References 118********** 119 120.. target-notes:: 121 1221. (ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile 1232. AArch64 Exception and Interrupt Handling 1243. https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms 125