Skip to content

Commit

Permalink
[toolbox] Update versions and documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
grasci-arm authored Jul 29, 2022
1 parent 296843e commit f8b6e02
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 55 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/toolbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: "Open-CMSIS-Pack/devtools"
version: tags/tools/buildmgr/0.11.2
version: tags/tools/buildmgr/1.0.0
file: cbuild_install.sh
target: tools/toolbox/cbuild/cbuild_install.sh
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -65,7 +65,7 @@ jobs:
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: "Open-CMSIS-Pack/devtools"
version: tags/tools/projmgr/0.9.6
version: tags/tools/projmgr/1.0.0
file: projmgr.zip
target: tools/toolbox/projmgr/projmgr.zip
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -74,7 +74,7 @@ jobs:
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: "Open-CMSIS-Pack/devtools"
version: tags/tools/packchk/1.3.95
version: tags/tools/packchk/1.3.96
regex: true
file: "packchk-.*\\.zip"
target: "tools/toolbox/packchk/"
Expand Down
29 changes: 2 additions & 27 deletions tools/projmgr/docs/Manual/YML-Format.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ The following chapter explains the YML format that is used to describe the YML i
- [Toolchain Options](#toolchain-options)
- [`compiler:`](#compiler)
- [`output-type:`](#output-type)
- [`linker:`](#linker)
- [`for-compiler:`](#for-compiler)
- [Translation Control](#translation-control)
- [`optimize:`](#optimize)
Expand Down Expand Up @@ -360,7 +359,6 @@ The `project:` node is the start of a `*.cproject.yml` file and can contain the
   [`description:`](#description) | Optional | Project description.
   [`output-type:`](#output-type) | **Required** | Generate executable (default) or library.
   [`optimize:`](#optimize) | Optional | Optimize level for code generation.
   [`linker:`](#linker) | **Required** | Instructions for the linker.
   [`debug:`](#debug) | Optional | Generation of debug information.
   [`define:`](#define) | Optional | Preprocessor (#define) symbols for code generation.
   [`undefine:`](#undefine) | Optional | Remove preprocessor (#define) symbols.
Expand Down Expand Up @@ -500,24 +498,6 @@ Value | Generated Output
output-type: lib # Generate a library
```

## `linker:`

The `linker:` node controls the linker operation.

`linker:` | | Content
:-----------------------------------------------------|:-------------|:--------------------------------
`- script:` | | Explicit file name of the linker script
   [`for-type:`](#for-type) | Optional | Include script for a list of *build* and *target* types.
   [`not-for-type:`](#not-for-type) | Optional | Exclude script for a list of *build* and *target* types.

**Example:**

```yml
linker: # Control linker operation
- script: .\MyProject.sct # Explicit scatter file
for-type: .Debug
```

## `for-compiler:`
Depending on a compiler toolchain it is possible to include *compiler-specific nodes* in the build process.

Expand Down Expand Up @@ -740,23 +720,18 @@ It is however possible to change that `setup:` settings on a [`group:`](#groups)
    [`undefine:`](#undefine) | Optional | Remove define symbol settings for code generation.
    [`add-path:`](#add-path) | Optional | Additional include file paths.
    [`del-path:`](#del-path) | Optional | Remove specific include file paths.
    [`linker:`](#linker) | Optional | Remove specific include file paths.
    [`misc:`](#misc) | Optional | Literal tool-specific controls.

```yml
project:
setups:
- setup: Arm Compiler 6 project setup
for-compiler: AC6
linker:
- script: my-project.sct
define:
- test: 12
- setup: GCC project setup
for-compiler: GCC
linker:
- script: my-project.inc
- setup: GCC project setup
for-compiler: GCC
define:
- test: 11
```
Expand Down
23 changes: 11 additions & 12 deletions tools/toolbox/docs/CMSIS-Toolbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,26 +27,25 @@ Build Manager | cbuildgen | Generate CMakeLists and invoke CMake/Ninja
- Install [MDK](http://www2.keil.com/demo/eval/arm.htm) first.
- In CMSIS Toolbox installer specify the MDK installation compiler path (c:\Keil_v5\ARM\ARMClang\bin) to setup AC6 compiler for you.

- [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads):
- [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads):

Version 10-2020-q4-major (Dec. 11th 2020):
- [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)
- [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)
- [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)
Version 11.2-2022.02 (Feb. 15th 2022):
- [Windows 32-bit](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-mingw-w64-i686-arm-none-eabi.exe)
- [Linux x86_64 Tarball](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi.tar.xz)
- [Mac OS X 64-bit Package](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-darwin-x86_64-arm-none-eabi.pkg) - Note: [Linaro Bug Report 5867](https://bugs.linaro.org/show_bug.cgi?id=5867)

- [ARM Compiler Version 6](https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6) **license managed**:

Version 6.16 (Mar. 10th 2020)
- [Windows 32-bit Installer](https://developer.arm.com/-/media/Files/downloads/compiler/DS500-BN-00025-r5p0-18rel0.zip)

Version 6.18 (Mar. 31th 2022)
- Windows 32-bit Installer
- Download installer
- Extract archive unzip DS500-BN-00025-r5p0-18rel0.zip
- Extract archive
- Run win-x86_32\setup.exe
- Default installation path: C:\Program Files (x86)\ARMCompiler6.16\
- Default installation path: C:\Program Files (x86)\ARMCompiler6.18\

- [Linux x86_64 Installer](https://developer.arm.com/-/media/Files/downloads/compiler/DS500-BN-00026-r5p0-18rel0.tgz)
- Linux x86_64 Installer
- Download installer
- Extract the archive tar -xzf DS500-BN-00026-r5p0-18rel0.tgz
- Extract the archive
- Run install_x86_64.sh

### 3) CMake and Ninja installation
Expand Down
4 changes: 2 additions & 2 deletions tools/toolbox/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ The CMSIS-Toolbox uses the CMake build system with a Ninja generator. The instal

The CMSIS-Toolbox works with the following toolchains. Install one or more toolchains depending on your requirements.

- [**GNU Arm Embedded Toolchain**](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) version 10.2.1 or higher.
- [**GNU Arm Embedded Toolchain**](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads) version 11.2.1 or higher.

- [**Keil MDK**](http://www.keil.com/mdk5/install) version 5.36 or higher.

- [**ARM Compiler**](https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6) version 6.16 or higher.
- [**ARM Compiler**](https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6) version 6.18 or higher.

- [**IAR EW-Arm**](https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/) is currently in alpha quality.

Expand Down
5 changes: 4 additions & 1 deletion tools/toolbox/docs/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,14 @@ minimum/range component version handling
replacement of cbuild bash scripts | :heavy_check_mark: | cbuild 0.11.0
multi-project solution handling in cbuild | :x: |
layered solutions in-source conversion | :heavy_check_mark: | csolution 0.9.4
support for output directories customization at csolution level | :heavy_check_mark: | csolution 1.0.0
support for board attributes in conditions | :heavy_check_mark: | csolution 1.0.0
`for-compiler` and `setup` handling | :heavy_check_mark: | csolution 1.0.0
multiple contexts selection via wildcards | :heavy_check_mark: | csolution 1.0.0
layer `interface` definitions | :x: |
distribution of layers | :x: |
resources management | :x: |
linker scatter file handling | :x: |
execution groups/phases | :x: |
pre/post build steps in csolution | :x: |
pre/post build steps in cbuild | :x: |
board conditions | :x: |
10 changes: 5 additions & 5 deletions tools/toolbox/installer/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ case $OS in
cmsis_compiler_root_default_path=$(unixpath "${LOCALAPPDATA}/Arm/Compilers")
compiler6_default_path=$(unixpath "${PROGRAMFILES}/ArmCompilerforEmbedded6.18/bin")
compiler5_default_path=$(unixpath "${PROGRAMFILES} (x86)/ARM_Compiler_5.06u7/bin")
gcc_default_path=$(unixpath "${PROGRAMFILES} (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin")
gcc_default_path=$(unixpath "${PROGRAMFILES} (x86)/Arm GNU Toolchain arm-none-eabi/11.2 2022.02/bin")
iar_default_path=$(unixpath "${PROGRAMFILES} (x86)/IAR Systems/Embedded Workbench 8.4/arm/bin")
extension=".exe"
;;
Expand All @@ -150,7 +150,7 @@ case $OS in
cmsis_compiler_root_default_path=$(wslpath "${localappdata}\Arm\Compilers")
compiler6_default_path=$(wslpath "${programfiles}/ArmCompilerforEmbedded6.18/bin")
compiler5_default_path=$(wslpath "${programfiles} (x86)/ARM_Compiler_5.06u7/bin")
gcc_default_path=$(wslpath "${programfiles} (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin")
gcc_default_path=$(wslpath "${programfiles} (x86)/Arm GNU Toolchain arm-none-eabi/11.2 2022.02/bin")
iar_default_path=$(wslpath "${programfiles} (x86)/IAR Systems/Embedded Workbench 8.4/arm/bin")
extension=".exe"
;;
Expand All @@ -161,7 +161,7 @@ case $OS in
cmsis_compiler_root_default_path=${HOME}/.cache/arm/compilers
compiler6_default_path=${HOME}/ArmCompilerforEmbedded6.18/bin
compiler5_default_path=${HOME}/ARM_Compiler_5.06u7/bin
gcc_default_path=${HOME}/gcc-arm-none-eabi-10-2020-q4-major/bin
gcc_default_path=${HOME}/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin
iar_default_path=/opt/iarsystems/bxarm/arm/bin
extension=""
;;
Expand Down Expand Up @@ -202,7 +202,7 @@ else
fi

# ask for gcc installation path
read -e -p "Enter the installed GNU Arm Embedded Toolchain Version 10.2.1 (10-2020-q4-major) directory [${gcc_default_path}]: " gcc_root
read -e -p "Enter the installed GNU Arm Embedded Toolchain Version 11.2.1 (11.2-2022.02) directory [${gcc_default_path}]: " gcc_root
gcc_root=${gcc_root:-${gcc_default_path}}
if [[ -d "${gcc_root}" ]]
then
Expand Down Expand Up @@ -321,7 +321,7 @@ script="${cmsis_compiler_root}/AC5.5.6.7.cmake"
sed -e "s|set(TOOLCHAIN_ROOT.*|set(TOOLCHAIN_ROOT \"${compiler5_root}\")|" "${script}" > temp.$$ && mv temp.$$ "${script}"
sed -e "s|set(EXT.*|set(EXT ${extension})|" "${script}" > temp.$$ && mv temp.$$ "${script}"

script="${cmsis_compiler_root}/GCC.10.2.1.cmake"
script="${cmsis_compiler_root}/GCC.11.2.1.cmake"
sed -e "s|set(TOOLCHAIN_ROOT.*|set(TOOLCHAIN_ROOT \"${gcc_root}\")|" "${script}" > temp.$$ && mv temp.$$ "${script}"
sed -e "s|set(EXT.*|set(EXT ${extension})|" "${script}" > temp.$$ && mv temp.$$ "${script}"

Expand Down
6 changes: 3 additions & 3 deletions tools/toolbox/scripts/set-default.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ case $1 in
# windows
compiler6_default_path="C:/Keil_v5/ARM/ARMCLANG/bin"
compiler5_default_path="C:/Keil_v5/ARM/ARMCC/bin"
gcc_default_path="C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin"
gcc_default_path="C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/11.2 2022.02/bin"
iar_default_path="C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.4/arm/bin"
extension=".exe"
;;
'Linux' | 'Darwin')
# linux/macos
compiler6_default_path=~/ArmCompilerforEmbedded6.18/bin
compiler5_default_path=~/ARM_Compiler_5.06u7/bin
gcc_default_path=~/gcc-arm-none-eabi-10-2020-q4-major/bin
gcc_default_path=~/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin
iar_default_path=/opt/iarsystems/bxarm/arm/bin
extension=""
;;
Expand All @@ -34,7 +34,7 @@ script="$2/AC5.5.6.7.cmake"
sed -e "s|set(TOOLCHAIN_ROOT.*|set(TOOLCHAIN_ROOT \"${compiler5_default_path}\")|" "${script}" > temp.$$ && mv temp.$$ "${script}"
sed -e "s|set(EXT.*|set(EXT ${extension})|" "${script}" > temp.$$ && mv temp.$$ "${script}"

script="$2/GCC.10.2.1.cmake"
script="$2/GCC.11.2.1.cmake"
sed -e "s|set(TOOLCHAIN_ROOT.*|set(TOOLCHAIN_ROOT \"${gcc_default_path}\")|" "${script}" > temp.$$ && mv temp.$$ "${script}"
sed -e "s|set(EXT.*|set(EXT ${extension})|" "${script}" > temp.$$ && mv temp.$$ "${script}"

Expand Down
4 changes: 2 additions & 2 deletions tools/toolbox/test/src/InstallerTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ void ToolBoxInstallerTests::CheckInstallationDir(

{ "etc", vector<string>{
"AC5.5.6.7.cmake", "AC6.6.18.0.cmake",
"CPRJ.xsd", "GCC.10.2.1.cmake",
"CPRJ.xsd", "GCC.11.2.1.cmake",
"IAR.8.50.6.cmake", "setup",
"{{ProjectName}}.cproject.yml",
"{{SolutionName}}.csolution.yml",
Expand Down Expand Up @@ -92,7 +92,7 @@ void ToolBoxInstallerTests::CheckExtractedDir(const string& path, bool expect) {

{ "etc", vector<string>{
"AC5.5.6.7.cmake", "AC6.6.18.0.cmake",
"CPRJ.xsd", "GCC.10.2.1.cmake",
"CPRJ.xsd", "GCC.11.2.1.cmake",
"IAR.8.50.6.cmake", "setup",
"{{ProjectName}}.cproject.yml",
"{{SolutionName}}.csolution.yml",
Expand Down

0 comments on commit f8b6e02

Please sign in to comment.