Arm FVP BaseR AEMv8-R AArch32

Overview

This board configuration uses Armv8-R AEM FVP [1] to emulate a generic Armv8-R [2] 32-bit hardware platform.

Fixed Virtual Platforms (FVP) are complete simulations of an Arm system, including processor, memory and peripherals. These are set out in a “programmer’s view”, which gives you a comprehensive model on which to build and test your software.

The Armv8-R AEM FVP is a free of charge Armv8-R Fixed Virtual Platform. It supports the latest Armv8-R feature set. Please refer to FVP documentation page [3] for more details about FVP.

To Run the Fixed Virtual Platform simulation tool you must download “Armv8-R AEM FVP” from Arm developer [1] (This might require the user to register) and install it on your host PC.

Hardware

Supported Features

The following hardware features are supported:

Interface

Controller

Driver/Component

GICv3

on-chip

interrupt controller

PL011 UART

on-chip

serial port

Arm GENERIC TIMER

on-chip

system clock

The kernel currently does not support other hardware features on this platform.

When FVP is launched with -a, --application FILE option, the kernel will be loaded into DRAM region [0x0-0x7FFFFFFF]. For more information, please refer to the official Armv8-R AEM FVP memory map document [4].

Devices

System Clock

This board configuration uses a system clock frequency of 100 MHz.

Serial Port

This board configuration uses a single serial communication channel with the UART0.

Programming and Debugging

Environment

First, set the ARMFVP_BIN_PATH environment variable before building. Optionally, set ARMFVP_EXTRA_FLAGS to pass additional arguments to the FVP.

export ARMFVP_BIN_PATH=/path/to/fvp/directory

Programming

Use this configuration to build basic Zephyr applications and kernel tests in the Arm FVP emulated environment, for example, with the Basic Synchronization sample:

# From the root of the zephyr repository
west build -b fvp_baser_aemv8r_aarch32 samples/synchronization

This will build an image with the synchronization sample app. Then you can run it with west build -t run.

Debugging

Refer to the detailed overview about Application Debugging.

References