Home

Awesome

License Hello: Test Build and Execution test DualCore: Test Build CubeMX: Test Build SimpleTZ: Test Build and Execution

CMSIS-Toolbox Examples in csolution project format

This is a collection of CMSIS-Toolbox project examples in csolution project format. The project examples are provided for experimentation, exploration and education purposes.

Tool Requirements

The examples use CMSIS-Toolbox 2.6.0 or higher and require additional tools such as CMake, Ninja, Arm Compiler 6, GCC Compiler, and Arm Fixed Virtual Platforms (AVH-FVP).

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.

Project Examples

Examples in this repository:

csolution projectDescription
HelloA simple project to get started. Requires no hardware as it runs on AVH-FVP simulation models.
DualCoreApplication with multiple processors that runs on the NXP FRDM-K32L3A6 board.
SimpleTrustZoneSimple TrustZone example that shows the concept of secure and non-secure projects. Runs on AVH-FVP simulation models.
CubeMXProject that uses STM32Cube 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.

Build Projects

Before you build projects, ensure that the pack index on your local computer is up-to-date with the command.

> cpackget update-index

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.csolution.yml --packs --context-set --toolchain AC6 --rebuild 

Template Projects

The directory Templates may be used as starting point for different types of embedded applications: simple single core, multi-core, TrustZone, and unit test.

GitHub Action Workflows

The directory .ci contains the required setup for the Continuous Integration (CI) test of these examples with GitHub action workflows. The tools are downloaded from the Arm Tools Artifactory. The test results are available in the Actions view.

Examples in Other Repositories

SourceDescription
github.com/Arm-ExamplesA collection of several example projects
AWS_MQTT_MutualAuth_DemoMQTT demo that uses layers for re-targeting to different physical boards
AVH_CI_TemplateCI Template for unit test automation that uses GitHub Actions