Arm Virtual Hardware  Version 2.1.0
AVH FVP Infrastructure
 
Loading...
Searching...
No Matches
Use with Keil Studio

This section explains how Arm Fixed Virtual Platforms (FVP) can be used with Keil Studio for VS Code (MDK v6) for developing and debugging embedded applications on a local computer.

Tools Installation

Target selection

Keil Studio natively supports the Open-CMSIS-Pack format for device support and management of software components. See CMSIS-based projects for AVH FVPs for the list of the device family packs and BSP packs required for use with AVH FVPs.

  • When opening an existing csolution project in Keil Studio, all necessary packs for the target will be automatically installed.

You can view the device name defined for the target in the project csolution.yml file, or by clicking the Manage solution settings button in the CMSIS view, as shown on the image below. Set a context for your solution explains the concept in details.

CMSIS Manage solution settings

vcpkg configuration

Keil Studio relies on Arm Environment Manager extension to setup development environment from Arm Tools Artifactory using Microsoft vcpkg. The vcpkg manifest file vcpkg_configuration.json shall contain the requirement for AVH FVPs models, in the same way as explained in Download with vcpkg. For example:

{
"registries": [
{
"name": "arm"
"kind": "artifact",
"location": "https://artifacts.tools.arm.com/vcpkg-registry"
}
],
"requires": {
"arm:models/arm/avh-fvp": "^11.27.31"
}
}

Note that in Keil Studio also other artifacts are usually present for build and debug tasks such as cmsis-toolbox, compiler toolchain, and others.

Program Build

Follow the instructions provided in the Build the example project in the Arm Keil Studio for VS Code User's Guide.

Program Run and Debug

In Keil Studio you can run a program on the target without using the debugger. See Run the solution for steps how to configure corresponding task for AVH FVPs.

To be able to debug your program, you must create a corresponding launch configuration, as explained in Debug the solution.