ARM BASE RevC AEMv8A Fixed Virtual Platforms
Overview
This board configuration will use ARM Fixed Virtual Platforms(FVP) to emulate a generic Armv8-A 64-bit hardware platform.
This configuration provides support for a generic Armv8-A 64-bit CPU and these devices:
GICv3 interrupt controller
ARM architected (Generic) timer
PL011 UART controller
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.
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.
Known Problems or Limitations
Programming and Debugging
Use this configuration to build basic Zephyr applications and kernel tests in the ARM FVP emulated environment, for example, with the Synchronization Sample:
# From the root of the zephyr repository
west build -b fvp_base_revc_2xaemv8a samples/synchronization
This will build an image with the synchronization sample app.
To run with FVP, ARMFVP_BIN_PATH must be set before running:
e.g. export ARMFVP_BIN_PATH=<path/to/fvp/dir>
Running Zephyr at EL1NS
In order to run Zephyr as EL1NS with CONFIG_ARMV8_A_NS
, you’ll need a proper
Trusted Firmware loaded in the FVP model.
The ARM TF-A for FVP can be used to run Zephyr as preloaded BL33 payload.
Checkout and Build the TF-A:
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git --depth 1
cd trusted-firmware-a/
make PLAT=fvp PRELOADED_BL33_BASE="0x88000000" all fip
then export the ARMFVP_BL1_FILE` and ``ARMFVP_FIP_FILE
environment variables:
export ARMFVP_BL1_FILE=<path/to/tfa-a/build/fvp/release/bl1.bin>
export ARMFVP_FIP_FILE=<path/to/tfa-a/build/fvp/release/fip.bin>
Debugging
Refer to the detailed overview about Application Debugging.
Networking
References
(ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile
AArch64 Exception and Interrupt Handling
https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms