Skip to content

Repository files navigation

CMSIS-Toolbox

License Apache-2.0 Dependency review Markdown lint check Build documentation Build cmsis-toolbox End to end tests Publish cmsis-toolbox OpenSSF Scorecard

CMSIS-Toolbox provides common project information for embedded application development. A csolution project combines the application structure and build configuration with device, board, and reusable software information from CMSIS Packs.

The same common project information supports command-line, VS Code, and CI/DevOps workflows for CMSIS projects, Zephyr with West, and native CMake. It connects smart editor features, static code analysis and test tools, programming, run, and debug configuration, trace, and MLOps to the application development workflow.

Users Guide

The Users Guide provides detailed information.

Project Creation

The following tools support the creation of build information for embedded applications:

Tool Description
cpackget Pack Installer: installs and manages software packs in the development environment.
cbuild Build Invocation: orchestrates the build steps utilizing CMSIS tools and a CMake compilation process.
cbuild2cmake CMake File Generator: generates CMake scripts from CMSIS build information files.
csolution Project Manager: creates build information for embedded applications that consist of one or more related projects.

These tools extend the project creation workflow by enabling integration with external applications. They are usually used alongside the above tools.

Tool Description
cbridge Generator Bridge: integrates external code generators into the CMSIS-Toolbox build flow. Provides native STM32CubeMX support and bridge scripts for MCUXpresso and Infineon Device Configurator.

Example Projects

Repository Description
csolution-examples Contains several Hello World examples that show single-core, multi-core, and TrustZone setup.
vscode-get-started Contains the setup for a VS Code development environment including an example project.
github.com/Arm-Examples Contains many examples that include CMSIS-Toolbox setup.

Software Pack Creation

The following tools support the creation of Software Packs in CMSIS-Pack format:

Tool Description
packchk Pack Verification: validates the PDSC file against the pack schema and checks referenced files, required metadata, and dependencies.
svdconv SVD Check / Convert: validates and/or convert System View Description (SVD) files.
vidx2pidx Pack Index File Generator: generates a CMSIS-Pack index file from a vendor index.

In addition several scripts are provided that simplify pack creation with desktop or cloud workflows. This is described in several hands-on tutorials:

Hands-on Tutorial Description
SW-Pack-HandsOn Explains the steps to create a simple software pack using the Open-CMSIS-Pack technology.
DFP-Pack-HandsOn Explains the structure and creation of a Device Family Pack (DFP).
BSP-Pack-HandsOn Explains the structure and creation of a Board Support Pack (BSP).

Documentation

The documentation can be built using mkdocs. It requires Python 3 to be installed on your local machine. Check out Getting Started with MkDocs to learn how to use it. A CI workflow is in place that builds the documentation automatically.

Report a Bug

Please report any issue you are facing while using CMSIS-Toolbox in the Issues tab on GitHub. Select the appropriate issue template, depending on the severity of the issue. Bugs (or deviations) from the defined behaviour that can be worked around shall be reported as "non-blocking bug". In turn, issues that prevent you from using a certain feature entirely, are considered a "blocking bug" and labelled as critical.

Releases

Used by

Contributors

Languages