This is a collection of CMSIS-Toolbox project examples in csolution project format. The project examples are provided for experimentation, exploration and education purposes.
The examples use CMSIS-Toolbox 2.14.0 or higher; the Native CMake integration template requires version 2.15.0 or higher. Depending on the example, additional tools include CMake, Ninja, Arm Compiler 6, GCC, CLANG, Arm Virtual Hardware Fixed Virtual Platforms (AVH FVP), STM32CubeMX, and West with a Zephyr workspace. Refer to the README of each example or template for its specific requirements.
Refer to Installation of the CMSIS-Toolbox for information on the setup of a development environment with these tools.
When using VS Code with the Arm Environment Manager the required tools are installed based on the settings in the file vcpkg-configuration.json using the Arm Tools Artifactory.
!!! Note The Debug build type includes workarounds for known debugger issues. Refer to CMSIS-Toolbox Troubleshooting for details.
Examples in this repository:
| csolution project | Description |
|---|---|
| Hello | A simple project to get started. Requires no hardware as it runs on AVH-FVP simulation models. |
| DualCore | Application with multiple processors that runs on the NXP FRDM-K32L3A6 board. |
| SimpleTrustZone | Simple TrustZone example that shows secure and non-secure projects, including how to use a prebuilt secure image. Runs on AVH-FVP simulation models. |
| CubeMX | Project that uses STM32CubeMX for device configuration and contains a RAM and ROM target. |
Each csolution project example shows different aspects of the CMSIS-Toolbox. For example, the CubeMX csolution project contains two targets that show RAM and ROM execution.
The project files contain a list of software packs that are used. When using the cbuild tool option --packs these packs are downloaded during the build process as shown in the following example command line:
> cbuild Hello/Hello.csolution.yml --packs --toolchain AC6 --rebuildThe directory Templates contains structural templates for simple single-core, multi-core, TrustZone, and unit-test projects. It also contains integration templates for existing Zephyr applications built with West and native CMake projects. They are not ready-to-build examples, but may be used as a starting point for an application.
The directory .ci contains the required setup for testing these examples with GitHub Actions workflows. The tools are downloaded from the Arm Tools Artifactory. The test results are available in the Actions view.
See github.com/Arm-Examples for a collection of embedded software example projects.