Skip to content

Arm-Examples/AVH-VSI

Repository files navigation

Basic Virtual Interface Applications

License CMSIS Compliance hello_vsi Build and Run hello_video_vsi Build

This repository contains simple examples demonstrating the use of virtual peripherals on AVH FVPs.

Quick Start

  1. Install Keil Studio for VS Code from the VS Code marketplace.
  2. Clone this repository (for example using Git in VS Code) or download the ZIP file. Then open the base folder in VS Code.
  3. Open the CMSIS View in VS Code and use the ... menu to choose an example via Select Active Solution from workspace.
  4. The related tools and software packs are downloaded and installed. Review progress with View - Output - CMSIS Solution.
  5. In the CMSIS view, use the Action buttons to build, load and debug the example on the hardware.

Examples Description

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.

Build a project

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.

Arm Virtual Hardware (AVH) Setup

See the AVH FVP Infrastructure on how to setup AVH FVPs for use in local and cloud-based environments.

Continuous Integration (CI)

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.json file 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.

Files and Directories

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.

About

This repository contains a simple Hello World example for Arm Virtual Hardware.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 11