About this Install Guide

This guide is intended to get you up and running with this tool quickly with the most common settings. For a thorough review of all options, refer to the official documentation.

The CMSIS-Toolbox is a suite of utilities for creating, building, and managing projects based on CMSIS Software Packs.

It is also used for the creation and maintenance of such packs.

CMSIS-Toolbox is part of the Open-CMSIS-Pack project .

Windows, Linux, and macOS host platforms are supported.

Note

This 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 (Windows only).

What dependencies do I need before installing CMSIS-Toolbox?

You will need to install CMake and Ninja:

    

        
        
sudo apt update
sudo apt install cmake ninja-build -y

    

Check the versions of each tool:

    

        
        
cmake --version
ninja --version

    

Ensure 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 from the below:

How do I download CMSIS-Toolbox?

Download and unpack the latest version of CMSIS-Toolbox from the Arm Tools Artifactory .

Full details of the contents is given in the Releases area of the GitHub repository.

How do I download for Arm64 hosts?

    

        
        

wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-windows-arm64.zip
tar -xf cmsis-toolbox-windows-arm64.zip
  

    
    

        
        

wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.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.5.0/cmsis-toolbox-darwin-arm64.tar.gz
tar -xf cmsis-toolbox-darwin-arm64.tar.gz
  

    

How do I download for x86_64 hosts?

    

        
        

wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-windows-amd64.zip
tar -xf cmsis-toolbox-windows-amd64.zip
  

    
    

        
        

wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.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.5.0/cmsis-toolbox-darwin-amd64.tar.gz
tar -xf cmsis-toolbox-darwin-amd64.tar.gz
  

    

Which compiler toolchain should I install?

Projects can be built with Arm Compiler for Embedded 6, Arm GNU Toolchain, LLVM Embedded Toolchain, or IAR tools.

For further setup instructions see these Install Guides:

Arm Compiler for Embedded is used in the example below.

How do I set up environment variables?

Set environment variables as below. Note the exact name of the TOOLCHAIN variables will be based on the tool and version installed. In this way, multiple build tools can be registered.

VariableDescriptionNotes
<n>_TOOLCHAIN_<major>_<minor>_<patch>Path to toolchain binaries<n> = AC6, GCC, IAR, or CLANG
CMSIS_PACK_ROOTPath to CMSIS-Pack root directoryUse cpackget init to initialize
PATHAdd CMSIS-Toolbox bin to pathAlso path to CMake and Ninja if necessary
CMSIS_COMPILER_ROOTPath to CMSIS-Toolbox etc directoryOptional

For example:

    

        
        

set AC6_TOOLCHAIN_6_22_0=%ProgramFiles%/ArmCompilerforEmbedded6.22/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_22_0=$HOME/ArmCompilerforEmbedded6.22/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 tools versions installed and their install locations.

How do I initialize the CMSIS-Pack directory?

Run the following command to initialize the directory specified by CMSIS_PACK_ROOT above.

    

        
        
cpackget init https://www.keil.com/pack/index.pidx

    

CMSIS-Toolbox should now be ready for use.

How can I test my CMSIS-Toolbox setup?

Example projects are provided on the GitHub repository .

Clone the following repository to your build machine:

    

        
        
git clone https://github.com/Open-CMSIS-Pack/csolution-examples

    

Navigate to the Hello example:

    

        
        
cd csolution-examples/Hello

    

How do I build the solution?

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). You will see output 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
+============================================================

        
    

Give Feedback

How would you rate this tool quick-install guide?