This repository contains simple examples demonstrating the use of virtual peripherals on AVH FVPs.
- Install Keil Studio for VS Code from the VS Code marketplace.
- Clone this repository (for example using Git in VS Code) or download the ZIP file. Then open the base folder in VS Code.
- Open the CMSIS View in VS Code and use the ... menu to choose an example via Select Active Solution from workspace.
- The related tools and software packs are downloaded and installed. Review progress with View - Output - CMSIS Solution.
- In the CMSIS view, use the Action buttons to build, load and debug the example on the hardware.
| Example name | Description |
|---|---|
| Hello VSI | A simple example of using the Virtual Streaming Interface (VSI) on AVH FVPs. Sensor data is streamed to the embedded application via the python interface from a text file. More details in hello_vsi/README.MD. |
| Hello Video VSI | An example of using the VSI on AVH FVPs for video streaming. The content of an image/video file is streamed to the embedded application via the python interface and is displayed on the model's LCD. More details in hello_video_vsi/README.MD. |
The projects are provided in csolution format and can be opened for editing and building in Keil MDK for VS Code or Keil uVision IDEs. Corresponding IDE documentation pages explain this in more detail:
You can also use the cbuild utility from CMSIS-Toolbox to build the project on the command line.
README files in the project folders provide additional details.
See the AVH FVP Infrastructure on how to setup AVH FVPs for use in local and cloud-based environments.
The underlying build system of Keil Studio uses the CMSIS-Toolbox and CMake. CI is effectively supported with:
- Tool installation based on a single
vcpkg-configuration.jsonfile for desktop and CI environments. - CMSIS solution files (
*.csolution.yml) that enable seamless builds in CI, for example using GitHub actions.
CI Workflow |
Description |
|---|---|
| hello_vsi.yml | Build the application for a specific compiler, target, and build type configuration. Save the build output as artifact, execute the generated binary on model and save the FVP UART log as artifact. |
| hello_video_vsi.yml | Build the application for a specific compiler and target pair. Save the build output as artifact. |
This is a list of the relevant files and directories.
File/Directory |
Content |
|---|---|
| vcpkg-configuration.json | List of tools installed (by Arm Tools Environment Manager) in VS Code and the CI Build system. |
| .github/workflows | Contains setup for the CI Build and Run workflows. |
| hello_vsi | Contains the example to use Virtual Streaming Interface (VSI) on AVH FVPs. |
| hello_video_vsi | Contains the example to use VSI on AVH FVPs for video streaming. |