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