|
| 1 | +# CMSIS Toolbox |
| 2 | + |
| 3 | +The CMSIS Toolbox encapsulates CMSIS Package Installer, CMSIS Build tools and CMSIS Project Manager binaries for all supported platforms as well as documents, schemas and templates to assist the creation and compilation of multiproject solutions based on CMSIS Packs. |
| 4 | + |
| 5 | +Tool | Binary | Description |
| 6 | +:------------------|:---------------|:------------------------------------------------- |
| 7 | +Package Installer | cpackget | Install packs into local environment |
| 8 | +Project Manager | csolution | Validate multiproject solutions and generate CPRJs |
| 9 | +Build Manager | cbuildgen | Generate CMakeLists and invoke CMake/Ninja |
| 10 | + |
| 11 | + |
| 12 | +## Getting Started |
| 13 | + |
| 14 | +### 1) Download CMSIS Toolbox installer |
| 15 | + |
| 16 | +- [Linux/Windows 64/macOS](https://github.com/Open-CMSIS-Pack/devtools/releases/download/tools/toolbox/0.9.0/cmsis-toolbox_0.9.0.sh) |
| 17 | + |
| 18 | +### 2) Toolchain download options |
| 19 | + |
| 20 | +- [Keil MDK IDE](http://www.keil.com/mdk5) |
| 21 | + |
| 22 | + Version 5.36 (Sep 2021) is the latest version of MDK supporting the CMSIS Project file format (*.cprj) export and import including export of layer information. |
| 23 | + |
| 24 | + [Installation Guide](http://www2.keil.com/mdk5/install) |
| 25 | + |
| 26 | + - Install [MDK](http://www2.keil.com/demo/eval/arm.htm) first. |
| 27 | + - In CMSIS Toolbox installer specify the MDK installation compiler path (c:\Keil_v5\ARM\ARMClang\bin) to setup AC6 compiler for you. |
| 28 | + |
| 29 | +- [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads): |
| 30 | + |
| 31 | + Version 10-2020-q4-major (Dec. 11th 2020): |
| 32 | + - [Windows 32-bit ZIP](https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-win32.exe) |
| 33 | + - [Linux x86_64 Tarball](https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2) |
| 34 | + - [Mac OS X 64-bit Package](https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-mac.pkg) |
| 35 | + |
| 36 | +- [ARM Compiler Version 6](https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6) **license managed**: |
| 37 | + |
| 38 | + Version 6.16 (Mar. 10th 2020) |
| 39 | + - [Windows 32-bit Installer](https://developer.arm.com/-/media/Files/downloads/compiler/DS500-BN-00025-r5p0-18rel0.zip) |
| 40 | + |
| 41 | + - Download installer |
| 42 | + - Extract archive unzip DS500-BN-00025-r5p0-18rel0.zip |
| 43 | + - Run win-x86_32\setup.exe |
| 44 | + - Default installation path: C:\Program Files (x86)\ARMCompiler6.16\ |
| 45 | + |
| 46 | + - [Linux x86_64 Installer](https://developer.arm.com/-/media/Files/downloads/compiler/DS500-BN-00026-r5p0-18rel0.tgz) |
| 47 | + - Download installer |
| 48 | + - Extract the archive tar -xzf DS500-BN-00026-r5p0-18rel0.tgz |
| 49 | + - Run install_x86_64.sh |
| 50 | + |
| 51 | +### 3) CMake and Ninja installation |
| 52 | + |
| 53 | +- [Download](https://cmake.org/download) and install CMake 3.18.0 or higher. |
| 54 | +- [Download](https://github.com/ninja-build/ninja/releases) Ninja v1.10.0 or higher. |
| 55 | + |
| 56 | +### 4) CMSIS Toolbox installation instructions |
| 57 | + |
| 58 | +To install the CMSIS Toolbox a bash environment is required. For Windows, install for example [git for Windows](https://gitforwindows.org). Call from the bash prompt: |
| 59 | +``` |
| 60 | +./cmsis-toolbox_0.9.0.sh |
| 61 | +``` |
| 62 | +The interactive self-extracting bash installer will query the destination directory for the installation, the CMSIS Pack repository directory and the location of the toolchain binaries. For further information refer to the [CMSIS Build documentation](https://open-cmsis-pack.github.io/devtools/buildmgr/0.10.4/cbuild_install.html) |
| 63 | + |
| 64 | + Note: CMSIS Build requires at least one of the above toolchains. |
| 65 | + |
| 66 | +### 5) Creating a solution in VS Code |
| 67 | +- On VS Code install the YAML language support provided by [Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml). |
| 68 | + |
| 69 | +- Open a terminal and setup the bash session environment variables by sourcing the cmsis-toolbox setup file: |
| 70 | +``` |
| 71 | +source <cmsis-toolbox-installation-folder>/etc/setup |
| 72 | +``` |
| 73 | +- Copy the `{{SolutionName}}.csolution.yml` and `{{ProjectName}}.cproject.yml` templates from the `/cmsis-toolbox/etc/` into your project folder and rename them at your discretion. |
| 74 | + |
| 75 | +- Edit the YAML files to select a device, add files and components. The template files have references to the YAML schemas in the first comment `#yaml-language-server`. |
| 76 | + |
| 77 | +- Use the Package Installer to create a new pack repository, download and install packs. |
| 78 | + |
| 79 | +- Use the Project Manager to get information from the installed packs such as device names and component identifiers, to validate the solution and eventually to generate CPRJs. |
| 80 | + |
| 81 | +- Use the Build Manager to generate CMakeLists, invoking CMake to generate artifacts and compilation database for enabling Intellisense. |
0 commit comments