This section gives an overview on how to use the Arm FVPs command line interface.
Infrastructure chapter provides details on how to obtain Arm FVPs and use them in various cloud-native workflows or desktop setups, such as GitHub and Keil MDK.
The FVP models can be executed from command prompt by using the model name followed by the model options. Development tools may abstract the execution with GUI, but the underlying approach stays the same.
Below is an example of the command for running a program on the FVP model for Corstone-300 with Ethos-U55 in a Linux environment:
Where:
FVP_Corstone_SSE-300_Ethos-U55 is the simulation model name. Note that on Windows the executable files shall be used, for example FVP_Corestone_SSE-300_Ethos-U55.exe.-a (or --application) option specifies the application binary file to run on the model (project.axf in this example).-f (or --config-file) specifies the configuration file for the simulation model (fvp_config.txt in this case). See Model Configuration.-C mp3_board.v_path specifies model configuration parameter for VSI python scripts for Virtual Interfaces Overview ("./vsi_py/" here). Use mp2_board.v_path, mps3_board.v_path or mps4_board.v_path, depending on the underlying board.--stat instructs to print run statistics on simulation exit.--simlimit specifies the maximum number of seconds to simulate.The available command options can be listed using the --help option. Refer to FVP command line options.
The operation of the FVP models can be configured at start-time by providing following command-line options:
-C (or --parameter) option to configure individual parameters.-f (or --config-file) followed by path to the text file with configuration parameters.The configuration parameters are model-specific and follow syntax instance.parameter= <value>, where instance specifies a simulated instance, such as CPU, interface, bus, memory, peripheral, etc. and can be also hierarchical.
All parameters available for a target model including default setting and brief description can be obtained with the command option -l (or --list-params). Because of the large number of parameters, it is convenient to print them into a text file. For example:
In a simple case, the configuration file for a Corstone-300 target could look like this:
Where:
core_clk.mul=100000000 specifies the virtual time, in this case 100 MHz CPU clock.mps3_board.telnetterminal0.start_telnet=0 disables the Telnet connectivity.mps3_board.uart0.out_file=- UART output is send to stdout.mps3_board.visualisation.disable-visualisation=1 disables the graphical user interface of the FVP.cpu0.semihosting-enable=1 enables semihosting in the FVP.Note that instances implemented in the model can be obtained with the command option --list-instances that returns instance names and corresponding model component type, version and brief description. Section Fast Models components explains all the components available with Fast Model technology and can be used for finding more information about a specific instance in the FVP.
For additional details, see chapter Configuring the model in the Getting Started with Fixed Virtual Platforms Guide.