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.
The Users Guide provides detailed information.
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. |
| 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. |
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). |
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.
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.