| Reading time: | 15 min |
| Last updated: | 11 May 2026 |
| Reading time: |
| 15 min |
| Last updated: |
| 11 May 2026 |
| Author: | Ronan Synnott, Arm
|
| Official docs: | View |
| Tags: |
| Author: |
| Official docs: |
| View |
| Tags: |
This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.
The CMSIS-Toolbox is a suite of utilities for creating, building, and managing projects based on CMSIS Software Packs. It is also used for creating and maintaining Software Packs.
CMSIS-Toolbox is part of the
Open-CMSIS-Pack project
. It is supported on Windows, Linux, and macOS host platforms.
The following install guide is for manual installation of CMSIS-Toolbox.
For automation instructions using vcpkg, see
Install tools on the command line using vcpkg
.
CMSIS-Toolbox is also installed as part of a Keil MDK installation on Windows only.
You’ll need to install CMake and Ninja. For steps to install CMake, see the
CMake install guide
.
To install Ninja, run:
sudo apt update
sudo apt install ninja-build -y
Check the versions of each tool:
cmake --version
ninja --version
Ensure that the version of CMake is at least 3.25.2, and Ninja is at least 1.10.2.
You can also download installers for all supported hosts:
Download and unpack the latest version of CMSIS-Toolbox from the
Arm Tools Artifactory
.
For more information about the contents of the installation, see Releases .
The commands depend on the host operating system. Replace 2.13.0 with the latest version.
wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-windows-arm64.zip
tar -xf cmsis-toolbox-windows-arm64.zip
wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-linux-arm64.tar.gz
tar -xf cmsis-toolbox-linux-arm64.tar.gz
curl -L -o cmsis-toolbox-darwin-arm64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-darwin-arm64.tar.gz
tar -xf cmsis-toolbox-darwin-arm64.tar.gz
The commands depend on the host operating system. Replace 2.13.0 with the latest version.
wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-windows-amd64.zip
tar -xf cmsis-toolbox-windows-amd64.zip
wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-linux-amd64.tar.gz
tar -xf cmsis-toolbox-linux-amd64.tar.gz
curl -L -o cmsis-toolbox-darwin-amd64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-darwin-amd64.tar.gz
tar -xf cmsis-toolbox-darwin-amd64.tar.gz
Projects can be built with Arm Compiler for Embedded 6, Arm GNU Toolchain, LLVM Embedded Toolchain, or IAR tools.
For further setup instructions, see the following Install Guides:
This Install Guide uses Arm Compiler for Embedded, which is supported on Windows and Linux.
Set environment variables as follows.
The exact name of the TOOLCHAIN variables will be based on the tool and version installed. In this way, you can register multiple build tools.
| Variable | Description | Notes |
|---|---|---|
<n>_TOOLCHAIN_<major>_<minor>_<patch> | Path to toolchain binaries | <n> = AC6, GCC, IAR, or CLANG |
CMSIS_PACK_ROOT | Path to CMSIS-Pack root directory | Use cpackget init to initialize |
PATH | Add CMSIS-Toolbox bin to path | Also path to CMake and Ninja if necessary |
CMSIS_COMPILER_ROOT | Path to CMSIS-Toolbox etc directory | Optional |
For example:
set AC6_TOOLCHAIN_6_24_0=%ProgramFiles%/ArmCompilerforEmbedded6.24/bin
set CMSIS_PACK_ROOT=%LocalAppData%/Arm/Packs
set PATH=%PATH%;%UserProfile%/cmsis-toolbox-windows-amd64/bin
set CMSIS_COMPILER_ROOT=%UserProfile%/cmsis-toolbox-windows-amd64/etc
export AC6_TOOLCHAIN_6_24_0=$HOME/ArmCompilerforEmbedded6.24/bin
export CMSIS_PACK_ROOT=$HOME/packs
export PATH=$HOME/cmsis-toolbox-linux-arm64/bin:$PATH
export CMSIS_COMPILER_ROOT=$HOME/cmsis-toolbox-linux-arm64/etc
Exact paths will depend on the versions and locations of installed tools.
Run the following command to initialize the directory specified by CMSIS_PACK_ROOT:
cpackget init https://www.keil.com/pack/index.pidx
CMSIS-Toolbox should now be ready for use.
You can find example projects on GitHub .
Clone the repository to your build machine:
git clone https://github.com/Open-CMSIS-Pack/csolution-examples
Navigate to the Hello example:
cd csolution-examples/Hello
Use the
cbuild
utility (a component of CMSIS-Toolbox) to build.
Add --packs to the command line to download and install any necessary software packs not currently installed.
cbuild Hello.csolution.yml --packs
The build will proceed and generate an executable image(s). The output is similar to:
ARM::CMSIS@6.0.0
ARM::CMSIS-Compiler@2.0.0
ARM::CMSIS-RTX@5.8.0
ARM::V2M_MPS3_SSE_300_BSP@1.5.0
I: Downloading ARM.CMSIS.pdsc...
I: Adding pack "ARM::CMSIS@6.0.0"
I: Downloading ARM.CMSIS.6.0.0.pack...
...
...
(1/2) Building context: "Hello.Debug+AVH"
Building CMake target 'Hello.Debug+AVH'
[1/31] Building C object CMakeFiles/Group_Main.dir/home/ubuntu/csolution-examples/Hello/main.o
...
[31/31] Linking C executable /home/ubuntu/csolution-examples/Hello/out/Hello/AVH/Debug/Hello.axf
Program Size: Code=29968 RO-data=1584 RW-data=244 ZI-data=37072
+------------------------------------------
(2/2) Building context: "Hello.Release+AVH"
Building CMake target 'Hello.Release+AVH'
[1/31] Building C object CMakeFiles/Group_App.dir/home/ubuntu/csolution-examples/Hello/hello.o
...
[31/31] Linking C executable /home/ubuntu/csolution-examples/Hello/out/Hello/AVH/Release/Hello.axf
Program Size: Code=17664 RO-data=988 RW-data=196 ZI-data=37112
+------------------------------------------------------------
Build summary: 2 succeeded, 0 failed - Time Elapsed: 00:00:03
+============================================================
You are now ready to use CMSIS-Toolbox.
How would you rate this tool quick-install guide?
What is the primary reason for your feedback ?
Thank you! We're grateful for your feedback.