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).

Dependencies

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:

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.

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
  
        
    

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
  
        
    

Install an appropriate compiler toolchain

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.

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
<name>_TOOLCHAIN_<major>_<minor>_<patch>Path to toolchain binaries<name> = 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.

Initialize 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.

Test 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
        
    

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
+============================================================

        
    

Feedback

How would you rate the overall quality of this tool quick-install guide?