1.. _fvp_baser_aemv8r_aarch32: 2 3Arm FVP BaseR AEMv8-R AArch32 4############################# 5 6Overview 7******** 8 9This board configuration uses Armv8-R AEM FVP [1]_ to emulate a generic 10Armv8-R [2]_ 32-bit hardware platform. 11 12Fixed Virtual Platforms (FVP) are complete simulations of an Arm system, 13including processor, memory and peripherals. These are set out in a 14"programmer's view", which gives you a comprehensive model on which to build 15and test your software. 16 17The Armv8-R AEM FVP is a free of charge Armv8-R Fixed Virtual Platform. It 18supports the latest Armv8-R feature set. Please refer to FVP documentation 19page [3]_ for more details about FVP. 20 21To Run the Fixed Virtual Platform simulation tool you must download "Armv8-R AEM 22FVP" from Arm developer [1]_ (This might require the user to register) and 23install it on your host PC. 24 25Hardware 26******** 27 28Supported Features 29================== 30 31The following hardware features are supported: 32 33+-----------------------+------------+----------------------+ 34| Interface | Controller | Driver/Component | 35+=======================+============+======================+ 36| GICv3 | on-chip | interrupt controller | 37+-----------------------+------------+----------------------+ 38| PL011 UART | on-chip | serial port | 39+-----------------------+------------+----------------------+ 40| Arm GENERIC TIMER | on-chip | system clock | 41+-----------------------+------------+----------------------+ 42 43The kernel currently does not support other hardware features on this platform. 44 45When FVP is launched with ``-a, --application FILE`` option, the kernel will be 46loaded into DRAM region ``[0x0-0x7FFFFFFF]``. For more information, please refer 47to the official Armv8-R AEM FVP memory map document [4]_. 48 49Devices 50======= 51 52System Clock 53------------ 54 55This board configuration uses a system clock frequency of 100 MHz. 56 57Serial Port 58----------- 59 60This board configuration uses a single serial communication channel with the 61UART0. 62 63Programming and Debugging 64************************* 65 66Environment 67=========== 68 69First, set the ``ARMFVP_BIN_PATH`` environment variable before building. 70Optionally, set ``ARMFVP_EXTRA_FLAGS`` to pass additional arguments to the FVP. 71 72.. code-block:: bash 73 74 export ARMFVP_BIN_PATH=/path/to/fvp/directory 75 76Programming 77=========== 78 79Use this configuration to build basic Zephyr applications and kernel tests in the 80Arm FVP emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample: 81 82.. zephyr-app-commands:: 83 :zephyr-app: samples/synchronization 84 :host-os: unix 85 :board: fvp_baser_aemv8r_aarch32 86 :goals: build 87 88This will build an image with the synchronization sample app. 89Then you can run it with ``west build -t run``. 90 91Debugging 92========= 93 94Refer to the detailed overview about :ref:`application_debugging`. 95 96References 97********** 98 99.. target-notes:: 100 101.. [1] https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/arm-ecosystem-models 102.. [2] Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch32 architecture profile 103 https://developer.arm.com/documentation/ddi0568/latest 104.. [3] https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/docs 105.. [4] https://developer.arm.com/documentation/100964/1114/Base-Platform/Base---memory/BaseR-Platform-memory-map 106