Skip to content

Commit bb0f63c

Browse files
Merge pull request #17 from ReinhardKeil/main
Improved README
2 parents 8c13059 + 4be01bd commit bb0f63c

1 file changed

Lines changed: 28 additions & 32 deletions

File tree

README.md

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,92 +4,88 @@
44

55
# AVH CI Template
66

7-
This repository contains a **CI Template for unit test automation** that uses [GitHub Actions](https://github.com/features/actions) on a [GitHub-hosted runner](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners) with an Ubuntu Linux system. A report is optionally generated using the [Unity test framework](https://github.com/MDK-Packs/Unity).
7+
[<img src="https://github.com/Arm-Examples/.github/blob/main/profile/cicd_intro.png" alt="Introduction to CI/CD test automation" width="317" height="193" align="left">](https://developer.arm.com/-/media/arm%20developer%20community/videos/tools%20and%20software/keil%20mdk/cicd_webinar.mp4?#t=04:15
8+
"Introduction to CI/CD test automation")
89

9-
The tests run on [**Arm Virtual Hardware - Fixed Virtual Platforms (AVH-FVP)**](https://arm-software.github.io/AVH/main/simulation/html/index.html) which are simulation models that implement a Cortex-M, Corstone, or Cortex-M/Ethos-U device sub-systems. These models are designed for software verification and testing. It allows simulation-based test automation of various software workloads, including unit tests, integration tests, and fault injection.
10+
This repository contains a **CI template for unit test automation** that uses [GitHub Actions](https://github.com/features/actions) on [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners) with Ubuntu Linux. A report can optionally be generated using the [Unity test framework](https://github.com/MDK-Packs/Unity).
1011

11-
The tools used in this **CI Template** are part of [Keil MDK Version 6](https://www.keil.arm.com/keil-mdk/). For evaluation purposes the *MDK - Community Edition* can be used, but commericial usage requires a license of the *MDK - Professional Edition*.
12-
The tool installation is managed with [vcpkg](https://www.keil.arm.com/artifacts/) using a [configuration file](./vcpkg-configuration.json) that ensures consistent setup on Desktop computers and the CI system.
12+
The tests run on [**Fixed Virtual Platforms (FVP) simulation models**](https://arm-software.github.io/AVH/main/simulation/html/index.html), which implement Cortex-M, Corstone, or Cortex-M/Ethos-U device subsystems. These simulation models are designed for software verification and testing. They enable simulation-based test automation for various software workloads, including unit tests, integration tests, and fault injection.
1313

14-
![Create, debug, and test](./create_debug_test.png)
14+
The tools used in this **CI template** are part of [Keil MDK Version 6](https://www.keil.arm.com/keil-mdk/). For evaluation purposes, the *MDK - Community Edition* can be used, but commercial usage requires a license for the *MDK - Professional Edition*.
15+
Tool installation is managed with [vcpkg](https://www.keil.arm.com/artifacts/) using a [configuration file](./vcpkg-configuration.json), which helps ensure a consistent setup on desktop computers and in CI.
1516

16-
## Usage
17+
<br clear="left"/>
18+
19+
![CI Workflow explained: Create, debug, and test](https://github.com/Arm-Examples/.github/blob/main/profile/CICD_Overview.png "CI Workflow explained: Create, debug, and test")
1720

18-
This is a template repository that can be used as starting point for validation projects. Click **Use this template - Create a new repository** to start your own CI test project.
21+
## Usage
1922

20-
> Login with your GitHub account to enable the button **Use this template - Create a new repository**.
23+
This template repository can be used as a starting point for validation projects. Click **Use this template - Create a new repository** to start your own CI test project.
24+
> [!IMPORTANT]
25+
> Log in with your GitHub account to enable the **Use this template - Create a new repository** button.
2126
22-
The [Project](Project) tests a single function (*my_sum*) using the [Unity test framework](https://github.com/MDK-Packs/Unity) that is available as [CMSIS software pack](https://www.keil.arm.com/packs/unity-arm-packs). The initial configuration contains a "test case error" that exemplifies the Unity test reporting.
27+
The [Project](Project) tests a single function (*my_sum*) using the [Unity test framework](https://github.com/MDK-Packs/Unity), which is available as a [CMSIS software pack](https://www.keil.arm.com/packs/unity-arm-packs). Users can modify the test cases to simulate an error and observe Unity test reporting.
2328

24-
> This video contains a demo: [Using CMSIS-Toolbox and Keil MDK v6 in CI/CD Workflows](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1718006126984001DUAn)
29+
> [!TIP]
30+
> This video demonstrates the workflow: [Using CMSIS-Toolbox and Keil MDK v6 in CI/CD Workflows](https://developer.arm.com/-/media/arm%20developer%20community/videos/tools%20and%20software/keil%20mdk/cicd_webinar.mp4?#t=04:15 "Using CMSIS-Toolbox and Keil MDK v6 in CI/CD Workflows")
2531
2632
### Repository Structure
2733

2834
Directory | Content
2935
:-----------------------------|----------
30-
[.github/workflows](.github/workflows) | Workflow YML files that gets you started with GitHub Actions for CMSIS projects.
36+
[.github/workflows](.github/workflows) | Workflow YML files that get you started with GitHub Actions for CMSIS projects.
3137
[Project](Project) | A simple unit test application in [*csolution project format*](https://github.com/Open-CMSIS-Pack/cmsis-toolbox).
3238

3339
### GitHub
3440

35-
With GitHub Actions two workflows are available:
41+
With GitHub Actions, two workflows are available:
3642

3743
- [basic.yml](.github/workflows/basic.yml) compiles and runs the application.
3844
- [basic_w_report.yml](.github/workflows/basic_w_report.yml) compiles and runs the application; then generates a test report using [phoenix-actions/test-reporting](https://github.com/phoenix-actions/test-reporting).
3945

40-
Use in the GitHub web interface the [*Actions*](/../../actions) view to execute the *CI test run* and get *Test results*.
46+
Use the [*Actions*](/../../actions) view in the GitHub web interface to execute the *CI test run* and review *test results*.
4147

4248
### Desktop
4349

4450
**Prerequisite:**
4551

4652
- Install VS Code with [Arm Keil Studio Pack extensions](https://marketplace.visualstudio.com/items?itemName=Arm.keil-studio-pack).
47-
- Click **Use this template - Create a new repository** to create you own CI test flow in your GitHub account.
53+
- Click **Use this template - Create a new repository** to create your own CI test flow in your GitHub account.
4854

4955
**Build:**
5056

51-
In VS Code use:
57+
In VS Code:
5258

53-
- Open *Source Control Activity Bar* and use *Clone Repository* to get the application on your local computer.
59+
- Open the *Source Control Activity Bar* and use *Clone Repository* to get the application on your local computer.
5460
- Open *CMSIS Activity Bar* and *Build* the application.
5561

56-
> **Note:**
62+
> [!NOTE]
5763
>
58-
> When you open the project for the first time, the *Arm Tools Environment* managed with [vcpkg](https://www.keil.arm.com/artifacts/) gets installed which may take some minutes.
64+
> When you open the project for the first time, the *Arm Tools Environment* managed with [vcpkg](https://www.keil.arm.com/artifacts/) is installed, which may take a few minutes.
5965
6066
**Run:**
6167

62-
In VS Code open the *CMSIS Activity Bar* and *Run* the application.
68+
In VS Code, open the *CMSIS Activity Bar* and *Run* the application.
6369

6470
**Debug:**
6571

66-
In VS Code open the *CMSIS Activity Bar* and *Debug* the application.
72+
In VS Code, open the *CMSIS Activity Bar* and *Debug* the application.
6773

6874
## More CI Examples
6975

70-
Arm is using CI validation tests for many projects. The list below are only a few examples that may be used to derive own CI test projects.
76+
Arm uses CI validation tests like this for many projects. Most CMSIS software components are validated with FVP simulation, as shown in the table below. You can explore [other projects with topic "cicd"](https://github.com/search?q=topic%3Acicd+org%3AArm-Examples+fork%3Atrue&type=repositories) or read **[CI/CD](https://github.com/Arm-Examples/.github/blob/main/profile/CICD.md)** to learn more. While this test uses [FVP simulation models](https://arm-software.github.io/AVH/main/simulation/html/index.html), you can also run tests on [hardware targets using a self-hosted runner](https://github.com/Arm-Examples/.github/blob/main/profile/RPI_GH_Runner.md).
7177

7278
Resource | Description
7379
:------------------|:------------------
74-
[AVH-Hello](https://github.com/Arm-Examples/AVH-Hello) | Build and execution test for "Hello World" example using a GitHub Action matrix to target all Cortex-M processors, Arm Compiler or GCC, and AVH simulation.
7580
[CMSIS Version 6](https://github.com/ARM-software/CMSIS_6/actions) | Runs a CMSIS-Core validation test across the supported processors using multiple compilers.
7681
[RTOS2 Validation](https://github.com/ARM-software/CMSIS-RTX/actions) | Runs the CMSIS-RTOS2 validation across Keil RTX using source and library variants.
7782
[STM32H743I-EVAL_BSP](https://github.com/Open-CMSIS-Pack/STM32H743I-EVAL_BSP) | Build test of a Board Support Pack (BSP) with MDK-Middleware [Reference Applications](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md) using Arm Compiler or GCC. The artifacts store the various example projects for testing on the hardware board.
78-
[TFL Micro Speech](https://github.com/arm-software/AVH-TFLmicrospeech) | This example project shows the Virtual Streaming Interface with Audio input and uses [software layers](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/build-overview.md#software-layers) for retargeting.
7983

8084
## Other Developer Resources
8185

8286
Resource | Description
8387
:------------------|:------------------
84-
[Documentation](https://arm-software.github.io/AVH/main/overview/html/index.html) | Is a comprehensive documentation about Arm Virtual Hardware.
88+
[Documentation](https://arm-software.github.io/AVH/main/overview/html/index.html) | Comprehensive documentation for FVP simulation models.
8589
[Support Forum](https://community.arm.com/support-forums/f/arm-virtual-hardware-targets-forum) | Arm Virtual Hardware is supported via a forum. Your feedback will influence future roadmap.
8690
[AVH-MLOps](https://github.com/ARM-software/AVH-MLOps) | Shows the setup of a Docker container with foundation tools for CI and MLOps systems.
87-
[Marketing Overview](https://www.arm.com/virtual-hardware) | Gives you a top-level marketing message.
88-
89-
## Related Webinar Recordings
9091

91-
- [MDK v6 Technical Deep Dive](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1713958336497001CQIR)
92-
- [CLI builds using CMSIS-Toolbox](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1708432622207001feYV)
93-
- [Using CMSIS-Toolbox and Keil MDK v6 in CI/CD Workflows](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1718006126984001DUAn)
94-
- [Using CMSIS-View and CMSIS-Compiler](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1706872120089001ictY)
95-
- [Data streaming with CMSIS-Stream and SDS](https://on-demand.arm.com/flow/arm/devhub/sessionCatalog/page/pubSessCatalog/session/1709221848113001nOU5)

0 commit comments

Comments
 (0)