Skip to content

Commit 55570d5

Browse files
authored
[projmgr, toolbox] Add templates and documentation (#100)
1 parent a76e111 commit 55570d5

File tree

5 files changed

+117
-1
lines changed

5 files changed

+117
-1
lines changed

.github/workflows/projmgr.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ jobs:
136136
mkdir -p tools/projmgr/distribution/bin tools/projmgr/distribution/lib tools/projmgr/distribution/doc tools/projmgr/distribution/etc
137137
cp tools/projmgr/docs/LICENSE.txt tools/projmgr/distribution/
138138
cp -r tools/projmgr/docs/Manual/* tools/projmgr/distribution/doc/
139-
cp -r tools/projmgr/schema/* tools/projmgr/distribution/etc/
139+
cp -r tools/projmgr/schemas/* tools/projmgr/distribution/etc/
140+
cp -r tools/projmgr/templates/* tools/projmgr/distribution/etc/
140141
141142
- name: Download projmgr linux
142143
uses: actions/download-artifact@v2

.github/workflows/toolbox.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
mkdir -p tools/toolbox/distribution/doc/cbuild
2727
mkdir -p tools/toolbox/distribution/doc/cpackget
2828
mkdir -p tools/toolbox/distribution/doc/projmgr
29+
mkdir -p tools/toolbox/distribution/doc/toolbox
2930
3031
- name: Download cbuild release asset
3132
uses: dsaltares/fetch-gh-release-asset@master
@@ -56,6 +57,7 @@ jobs:
5657
cp projmgr/bin/windows64/csolution.exe distribution/bin/csolution.exe
5758
cp -r projmgr/etc/* distribution/etc
5859
cp -r projmgr/doc/* distribution/doc/projmgr
60+
cp -r docs/* distribution/doc/toolbox
5961
working-directory: tools/toolbox
6062

6163
- name: Create installer
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/0.9.0/tools/projmgr/schemas/cproject.schema.json
2+
3+
project:
4+
components:
5+
- component: ARM::CMSIS:CORE
6+
- component: ARM::Device:Startup&C Startup
7+
groups:
8+
- group: Source Files
9+
files:
10+
- file: main.c
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/0.9.0/tools/projmgr/schemas/csolution.schema.json
2+
3+
solution:
4+
target-types:
5+
- type: {{TypeName}}
6+
device: {{DeviceName}}
7+
8+
build-types:
9+
- type: Debug
10+
compiler: AC6
11+
misc:
12+
- C*:
13+
- -O1
14+
- -g
15+
- type: Release
16+
compiler: AC6
17+
misc:
18+
- C*:
19+
- -O3
20+
21+
projects:
22+
- project: {{ProjectName}}.cproject.yml
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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

Comments
 (0)