Skip to content
This repository was archived by the owner on Mar 3, 2025. It is now read-only.

Commit 9855832

Browse files
✨ Add CI for verifying whether the project is CMSIS Compliant (#1)
Introduce a CI flow to verify the project is compliant with CMSIS and hence, could be used with the CMSIS toolbox
1 parent 7a360bc commit 9855832

File tree

15 files changed

+175
-7
lines changed

15 files changed

+175
-7
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example1_cm4_mps2_an386:
13+
name: Verify CMSIS Compliance example1_cm4_mps2_an386
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example1_cm4_mps2_an386
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example1_cm4_mps2_an386/blink.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example1_cm4_mps2_an386
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example1_cm55_mps3_an552:
13+
name: Verify CMSIS Compliance example1_cm55_mps3_an552
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example2_cm4_mps2_an386
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example1_cm55_mps3_an552/blink.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example1_cm55_mps3_an552
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example2_cm4_mps2_an386:
13+
name: Verify CMSIS Compliance example2_cm4_mps2_an386
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example2_cm4_mps2_an386
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example2_cm4_mps2_an386/hello.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example2_cm4_mps2_an386
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example2_cm55_mps3_an552:
13+
name: Verify CMSIS Compliance example2_cm55_mps3_an552
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example2_cm55_mps3_an552
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example2_cm55_mps3_an552/hello.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example2_cm55_mps3_an552
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example3_cm4_mps2_an386:
13+
name: Verify CMSIS Compliance example3_cm4_mps2_an386
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example3_cm4_mps2_an386
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example3_cm4_mps2_an386/coremark.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example3_cm4_mps2_an386
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example4_mps2_multi_devices:
13+
name: Verify CMSIS Compliance example4_mps2_multi_devices
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example4_mps2_multi_devices
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example4_mps2_multi_devices/coremark.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example4_mps2_multi_devices
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Verify CMSIS Compliance
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 6 * * 0'
10+
11+
jobs:
12+
verify-cmsis-compliance-example5_multi_projects:
13+
name: Verify CMSIS Compliance example5_multi_projects
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: Arm-Examples/verify-cmsis-example-action@latest
18+
name: Verify CMSIS Compliance example5_multi_projects
19+
with:
20+
branch: ${{ github.ref }}
21+
project-file: ./example5_multi_projects/coremark-pro.csolution.yml
22+
API_TOKEN: ${{ secrets.CMSIS_API_KEY }}
23+
output-artifact: output-example5_multi_projects

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ After installing the tools, you need to setup a local CMSIS-PACK storage locatio
5656
This repository contains the following examples:
5757

5858
- Example 1: A minimal blinky project
59-
- example1_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386)
60-
- example1_cm55_mps3_an552 : For MPS3 with Cortex-M55 FPGA image (AN552)
59+
- example1_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example1_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
60+
- example1_cm55_mps3_an552 : For MPS3 with Cortex-M55 FPGA image (AN552) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example1_cm55_mps3_an552.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
6161
- Example 2: Hello world based on CMSIS-Compiler, with printf message(s) output via a UART interface.
62-
- example2_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386)
63-
- example2_cm55_mps3_an552 : For MPS3 with Cortex-M55 FPGA image (AN552)
62+
- example2_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example2_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
63+
- example2_cm55_mps3_an552 : For MPS3 with Cortex-M55 FPGA image (AN552) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example2_cm55_mps3_an552.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
6464
- Example 3: Compilation of the SPEC's CoreMark benchmark to demonstrate compiler options and linker script setup.
65-
- example3_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386)
65+
- example3_cm4_mps2_an386 : For MPS2/MPS2+ with Cortex-M4 FPGA image (AN386) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example3_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
6666
- Example 4: A modified version of the example 3 to support multiple types of FPGA images.
67-
- example4_mps2_multi_devices : For MPS2/MPS2+ and MPS3 FPGA images including:
67+
- example4_mps2_multi_devices : For MPS2/MPS2+ and MPS3 FPGA images including: [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example4_mps2_multi_devices.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
6868
- AN382: [MPS2/MPS2+] Cortex-M0 with CMSDK (Cortex-M System Design Kit)
6969
- AN383: [MPS2/MPS2+] Cortex-M0+ with CMSDK (Cortex-M System Design Kit)
7070
- AN385: [MPS2/MPS2+] Cortex-M3 with CMSDK (Cortex-M System Design Kit)
@@ -75,7 +75,7 @@ This repository contains the following examples:
7575
- AN552: [MPS3] Cortex-M55 with Corstone-300
7676
- AN555: [MPS3] Cortex-M85 with Corstone-310
7777
- Example 5: Compilation of the SPEC's CoreMark-Pro benchmark to demonstrate multiple projects in a CMSIS solution, as well as using clayer.
78-
- example5_multi_projects : For MPS2/MPS2+ with Cortex-M7 FPGA image (AN500)
78+
- example5_multi_projects : For MPS2/MPS2+ with Cortex-M7 FPGA image (AN500) [![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example5_multi_projects.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
7979

8080
In each of the example directories, there is a makefile and a batch file to help you to go through different steps.
8181

example1_cm4_mps2_an386/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Blinky example for Cortex-M4 running on Arm MPS2/MPS2+ FPGA board (AN386 FPGA image)
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example1_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Documentation related to the system
45

example1_cm55_mps3_an552/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Blinky example for Cortex-M55 running on Arm MPS3 FPGA board (AN552 FPGA image)
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example1_cm55_mps3_an552.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Documentation related to the system
45

example2_cm4_mps2_an386/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Hello world example for Cortex-M4 running on Arm MPS2/MPS2+ FPGA board (AN386 FPGA image)
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example2_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Descriptions
45

example2_cm55_mps3_an552/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Hello world example for Cortex-M55 running on Arm MPS3 FPGA board (AN552 FPGA image)
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example2_cm55_mps3_an552.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Descriptions
45

example3_cm4_mps2_an386/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# CoreMark example for Cortex-M4 running on Arm MPS2/MPS2+ FPGA board (AN386 FPGA image)
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example3_cm4_mps2_an386.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Descriptions
45

example4_mps2_multi_devices/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# CoreMark example for Cortex-M running on Arm MPS2/MPS2+ FPGA board
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example4_mps2_multi_devices.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Descriptions
45

example5_multi_projects/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# CoreMark-Pro example for Cortex-M running on Arm MPS2/MPS2+ FPGA board
2+
[![CMSIS Compliance](https://img.shields.io/github/actions/workflow/status/Arm-Examples/EW2024_CMSIS-Toolbox/verify-example5_multi_projects.yml?logo=arm&logoColor=0091bd&label=CMSIS%20Compliance)](https://www.keil.arm.com/cmsis)
23

34
## Descriptions
45

0 commit comments

Comments
 (0)