This section describes how to use the Arm Fixed Virtual Platforms (FVPs).
The FVP simulation models in AVH context correspond to the Arm Fast Models Fixed Virtual Platforms with extensions for Virtual Interfaces. The table below shows the available models:
Additionally following FVP models are provided without support of Virtual Peripherals:
Simulation Model | Processor Core | Overview Description |
---|---|---|
FVP_Corstone-1000 | Cortex-A35, Cortex-M0+, Cortex-M3 | Arm Corstone-1000 for MPS3 (AppNote AN550) |
FVP models can be executed in Linux environment by using their model names, for example VHT_Corestone_SSE-300_Ethos-U55
, and on Windows platform the models are provided as executables files, for example VHT_Corestone_SSE-300_Ethos-U55.exe
. See Usage Examples.
The command line options can be listed using the -help command. For example in Linux environment:
The FVP models can be configured using the option -f FILE
(or --config-file FILE
) that specifies a file with additional configuration parameters for the target model. The available configuration options can be listed with the option -l
(or --list
).
Below is an example of running a program on the AVH model for Corstone-300 with Ethos-U55 in Linux environment:
Where:
-V
(or --v_path
) specifies that path to the Python scripts for Virtual Interfaces.-f
(or --config-file
) specifies the configuration file for the AVH simulation model.-a
(or --application
) specifies the firmware binary application to load and run.--stat
instructs to print run statistics on simulation exit.--simlimit
specifies the maximum number of seconds to simulate.The content of the fvp_config.txt could be:
Where:
Embedded applications typically run with an infinite loop that ensures continuous program execution. But for executing regression tests as part of Continuous Integration (CI) workflows it is often required that program execution is stopped after a test is completed, so that the next test can be started.
FVP models have shutdown_on_eot
parameter that enables simple implementation of such program exit. The parameter should be set in the model configuration file (fvp_config.txt explained above), for example for VHT_Corstone_SSE-300:
And then to trigger the shutdown, a EOT (ASCII 4) symbol can be transmitted to the corresponding serial interface from the program. The code below demonstrates an example, where the execution is stopped after target execution count is achieved. In this implementation the STDIO is assumed to be retargeted to the UART0: