Skip to content

Commit

Permalink
Improved descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
vovamarch committed Aug 13, 2024
1 parent f605078 commit 8146270
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
19 changes: 9 additions & 10 deletions DoxyGen/examples/src/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@

This chapter describes the examples that demonstrate how to use **Arm Virtual Hardware (AVH)** in various scenarios. Detailed descriptions can be found from the references provided in the table below:

Example | Description | Repository
:-----------------------|:----------------|:----------------
AVH-Hello | Hello world example for AVH FVPs with support of GitHub Actions for build and run | [github.com/Arm-Examples/AVH-Hello](https://github.com/Arm-Examples/AVH-Hello)
AVH_CI_Template | Simple example with unit tests that shows the CI setup with AVH FVPs using GitHub Actions | [github.com/Arm-Examples/AVH_CI_Template](https://github.com/Arm-Examples/AVH_CI_Template)
AVH-VSI Examples | Simple examples that demonstrate use of Virtual Streaming Interface (VSI) in different use cases| [github.com/Arm-Examples/AVH-VSI](https://github.com/Arm-Examples/AVH-VSI)
AVH-MLOps | A set of tools and software components and examples showcasing MLOps systems with AVH FVPs | [github.com/ARM-software/AVH-MLOps](https://github.com/ARM-software/AVH-MLOps)
SDS Buffer | This project shows how to use Synchronous Data Stream Recorder Buffer (Non-Blocking Read/Write to circular buffer) | [github.com/ARM-software/SDS-Framework](https://github.com/ARM-software/SDS-Framework/tree/main/examples/sds_buffer)
CMSIS-Core Validation | Test suite for validating CMSIS-Core implementations on Cortex-M cores using different toolchains and AVH FVPs | [CMSIS_6/CMSIS/CoreValidation](https://github.com/ARM-software/CMSIS_6/tree/main/CMSIS/CoreValidation)
CMSIS-RTOS2 Validation | Test suite for validating CMSIS-RTOS2 implementations on Cortex-M cores using different toolchains and AVH FVPs | [github.com/Arm-Software/CMSIS-RTOS2_Validation](https://github.com/Arm-Software/CMSIS-RTOS2_Validation)

Example | Description
:-----------------------|:----------------
[AVH-Hello](https://github.com/Arm-Examples/AVH-Hello) | Hello world example for AVH FVPs with support of GitHub Actions for build and run
[AVH_CI_Template](https://github.com/Arm-Examples/AVH_CI_Template) | Simple example with unit tests that shows the CI setup with AVH FVPs using GitHub Actions
[AVH-VSI](https://github.com/Arm-Examples/AVH-VSI) | Simple examples that demonstrate use of Virtual Streaming Interface (VSI) in different use cases
[AVH-MLOps](https://github.com/ARM-software/AVH-MLOps) | A set of tools and software components and examples showcasing MLOps systems with AVH FVPs
[SDS Buffer](https://github.com/ARM-software/SDS-Framework/tree/main/examples/sds_buffer) | This project shows how to use Synchronous Data Stream Recorder Buffer (Non-Blocking Read/Write to circular buffer)
[CMSIS-Core Validation](https://github.com/ARM-software/CMSIS_6/tree/main/CMSIS/CoreValidation) | Test suite for validating CMSIS-Core implementations on Cortex-M cores using different toolchains and AVH FVPs
[CMSIS-RTOS2 Validation](https://github.com/Arm-Software/CMSIS-RTOS2_Validation) | Test suite for validating CMSIS-RTOS2 implementations on Cortex-M cores using different toolchains and AVH FVPs

Section \ref examples_beta provides examples that demonstrate use of AVH FVPs in experimental environments or are not actively maintained.
17 changes: 9 additions & 8 deletions DoxyGen/infrastructure/src/avh_gh_actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

GitHub Actions allow you to automate build, test, and deployment pipelines for GitHub-based projects.

A GitHub Actions workflow executes your commands on a Virtual Machine (GitHub Runner) that is hosted either directly by GitHub or can be self-hosted. It is event-driven, meaning that you can run a series of commands after a specified event such as push of a new commit or creation of a pull request. Refer to [Introduction to GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/introduction-to-github-actions) for information about the components of GitHub Actions.
A GitHub Actions workflow executes your commands on a Virtual Machine (GitHub Runner) that is hosted either directly by GitHub or can be self-hosted. It is event-driven, meaning that you can run a series of commands on a specified event such as push of a new commit or creation of a pull request. Refer to [Introduction to GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/introduction-to-github-actions) for information about the components of GitHub Actions.

This section explains how to setup your GitHub Runner environment for executing programs on AVH FVPs.
This section explains how to setup your GitHub Actions environment for executing programs on AVH FVPs.

## Setup with CMSIS-Actions {#arm_cmsis_actions}

Arm provides several GitHub Actions that simplify installation of AVH FVPs and other Arm Tools within your own GitHub CI workflows. Following actions are maintained in the [github.com/ARM-software/cmsis-actions](https://github.com/ARM-software/cmsis-actions) repository:
Arm provides several GitHub Actions that simplify installation of AVH FVPs and other Arm Tools within your GitHub CI workflows. Following actions are maintained in the [github.com/ARM-software/cmsis-actions](https://github.com/ARM-software/cmsis-actions) repository:

- **vcpkg action** performs environment setup from Arm Tools Artifactory based on vcpkg configuration.<br/>This follows the concept explained in \ref avh_fvp_vcpkg.<br/>
Following step can be added to the workflow to execute this action:
Expand All @@ -29,12 +29,13 @@ Arm provides several GitHub Actions that simplify installation of AVH FVPs and o
uses: ARM-software/cmsis-actions/armlm@v1
```
The activated environment is preserved into `$GITHUB_PATH` and `$GITHUB_ENV` so that it can be used by subsequent steps.
.

The actions execute on the GitHub runner operations for vcpkg-based tool download and license activation explained in the \ref avh_fvp_artifactory.
The actions execute on the GitHub Runner operations for vcpkg-based tool download and license activation as explained in the \ref avh_fvp_artifactory.

## Program Execution {#avh_gh_run}

After AVH FVPs and other tools are installed and activated on the GitHub Runner (see \ref arm_cmsis_actions) you can use the command line interface for building your project (e.g with cbuild utility) and run the firmware on the AVH FVP target (see [Running User Applications in CLI](../../simulation/html/using.html#Execution)).
After AVH FVPs and other tools are installed and activated on the GitHub Runner (see \ref arm_cmsis_actions) you can use the command line interface for building your project (e.g with `cbuild` utility) and run the firmware on an AVH FVP target (see [Running User Applications in CLI](../../simulation/html/using.html#Execution)).

For example, the code snippet below adds to a GitHub Actions workflow a step with program execution on Cortex-M3 FVP target:

Expand All @@ -59,10 +60,10 @@ matrix:

And then in your job descriptions you can use `${{ matrix.target }}` and `${{ matrix.compiler }}` variables, that GitHub Actions will automatically iterate over for you.

See [AVH-Hello](https://github.com/Arm-Examples/AVH-Hello)) as a simple example where such matrix strategy is implemented for building the program with different toolchain and for running on different AVH FVP targets.
See [AVH-Hello](https://github.com/Arm-Examples/AVH-Hello) as a simple example where such matrix strategy is implemented for building the program with different toolchains and for different AVH FVP targets.

Note that use of [csolution project format](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md) greatly simplifies project definition and build for different target types and build configurations. It well integrates with the GitHub Actions matrix for CI jobs.

## Example Template {#avh_ci_template}
## Examples {#avh_ci_template}

[AVH_CI_Template](https://github.com/Arm-Examples/AVH_CI_Template) provides an example that uses \ref arm_cmsis_actions "CMSIS-Actions" for environment setup and subsequently performs project build with Arm Compiler and program execution on an AVH FVP target. See its Readme for detailed description and [.github/workflows/basic.yml](https://github.com/Arm-Examples/AVH_CI_Template/blob/main/.github/workflows/basic.yml) for the GitHub workflow implementation.
See chapter [Examples](../../examples/index.html) for reference implementations that use \ref arm_cmsis_actions "CMSIS-Actions" for environment setup and subsequently perform project build and program execution on AVH FVP targets. Refer to the project's `./github/workflows/` directory for the implemented GitHub Actions workflows.

0 comments on commit 8146270

Please sign in to comment.