diff --git a/docs/README.md b/docs/README.md index 8ebe892..195c9b2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -23,7 +23,7 @@ This user's guide starts with this overview of the CMSIS-Toolbox. It contains de - [**Build Tools**](build-tools.md): command line descriptions for `cbuild` (build projects), `csolution` (transform *User Input Files*), and `cpackget` (manage software packs). -- [**User Input Files**](YML-Input-Format.md): detailed description of the *user input files* that describes the software application in YAML format. +- [**Project File Format**](YML-Input-Format.md): detailed description of the *user input files* that describes the software application in YAML format. - [**Build Information Files**](YML-CBuild-Format.md): details about the build information generated by the `csolution` tool. @@ -42,7 +42,7 @@ This user's guide assumes some top-level knowledge about Cortex-M software devel ## Benefits -The CMSIS-Toolbox is a set of command line tools that can be used stand-alone, integrated into IDEs such as VS Code, or in DevOps systems for Continuous Integration (CI) workflows. +The CMSIS-Toolbox is a set of command line tools for stand-alone usage and integration into IDEs or DevOps (for CI workflows). ![Operation of `csolution` tool](./images/tool-overview.png "Operation of `csolution` tool") @@ -63,4 +63,4 @@ The overall benefits are: Version | Description :------------------|:------------------------- -2.0.0-dev0 (WiP) | Initial release for CMSIS-Toolbox 2.0.0 +2.0.0 | Initial release for CMSIS-Toolbox 2.0.0 diff --git a/docs/YML-Input-Format.md b/docs/YML-Input-Format.md index 3d0a094..2221f16 100644 --- a/docs/YML-Input-Format.md +++ b/docs/YML-Input-Format.md @@ -1,16 +1,16 @@ -# User Input Files +# Project File Format -[**CMSIS-Toolbox**](README.md) **> User Input Files** +[**CMSIS-Toolbox**](README.md) **> Project File Format** The following chapter explains the YAML format of the *user input files* that describes the software of an embedded application. **Table of Contents** -- [User Input Files](#user-input-files) +- [Project File Format](#project-file-format) - [Name Conventions](#name-conventions) - [Filename Extensions](#filename-extensions) - [`pack:` Name Conventions](#pack-name-conventions) diff --git a/docs/build-overview.md b/docs/build-overview.md index dc8457a..d001cf9 100644 --- a/docs/build-overview.md +++ b/docs/build-overview.md @@ -20,7 +20,7 @@ This chapter describes the overall concept of the CMSIS-Toolbox build process. I - [GitHub repositories](#github-repositories) - [Project Templates](#project-templates) - [Minimal Project Setup](#minimal-project-setup) - - [context](#context) + - [Context](#context) - [Toolchain Agnostic Project](#toolchain-agnostic-project) - [Reproducible builds](#reproducible-builds) - [Software Layers](#software-layers) @@ -211,7 +211,7 @@ project: - component: Device:Startup ``` -### context +### Context A [`context:`](YML-Input-Format.md#context-name-conventions) identifies a configuration with `project-name`, `built-type`, and `target-type` and is used on various places in the CMSIS-Toolbox. The following syntax is used to specify a `context:` name. diff --git a/docs/build-tools.md b/docs/build-tools.md index 944c684..1eea169 100644 --- a/docs/build-tools.md +++ b/docs/build-tools.md @@ -18,13 +18,14 @@ This chapter describes the tools [`cbuild`](#cbuild-invocation) (build projects) - [List Environment](#list-environment) - [List Available Toolchains](#list-available-toolchains) - [Update Pack Index File](#update-pack-index-file) + - [Build Project](#build-project) + - [Update RTE Configuration Files](#update-rte-configuration-files) - [Add Software Packs](#add-software-packs) - [List Installed Packs](#list-installed-packs) - [Install Missing Packs](#install-missing-packs) - [List Devices or Boards](#list-devices-or-boards) - [List Unresolved Dependencies](#list-unresolved-dependencies) - [Create Build Information](#create-build-information) - - [Select a Toolchain](#select-a-toolchain) - [List Compatible Layers](#list-compatible-layers) - [Use Generators (i.e. CubeMX)](#use-generators-ie-cubemx) - [`cpackget` Details](#cpackget-details) @@ -188,6 +189,34 @@ When new software packs are available in on a public web service, the local copy cpackget update-index ``` +### Build Project + +This command builds a project that is defined in the file `example.csolution.yml`: + +```bash +cbuild example.csolution.yml +``` + +Options allow to rebuild and download missing software packs or to select specific context settings + +```bash +cbuild example.csolution.yml --rebuild --packs --context .Release +``` + +It is also possible to overwrite the toolchain selection and use a different toolchain for translation: + +```bash +cbuild example.csolution.yml --toolchain GCC +``` + +### Update RTE Configuration Files + +The [Component Configuration​](build-overview.md#project-structure) is stored in the [RTE directory](build-overview.md#rte-directory-structure). When files are missing or new software pack versions are installed it might be required to update the RTE configuration files with this command: + +```bash +csolution example.csolution.yml --update-rte +``` + ### Add Software Packs To install software packs from a public web service use the following command: @@ -195,7 +224,6 @@ To install software packs from a public web service use the following command: ```bash cpackget add Arm::CMSIS cpackget add Arm::CMSIS@5.9.0 # optional with version specification - ``` ### List Installed Packs @@ -255,15 +283,6 @@ Convert specific contexts of a `*.csolution.yml` file into build information fil csolution convert SimpleTZ.csolution.yml -c CM33_s.Debug -c CM33_ns.Release+AVH ``` -### Select a Toolchain - -List and select a specific toolchain (in this case AC6 for Arm Compiler version 6) for the compilation of a project. The `--verbose` option provides additional details. - -```bash -cbuild list toolchains -v -cbuild example.csolution.yml -t AC6 -``` - ### List Compatible Layers List compatible layers for `./fxls8962_normal_spi.csolution.yml` and the context `*+frdmk22f_agmp03`. This contains also setup information. diff --git a/docs/images/overview.pptx b/docs/images/overview.pptx index f8a8843..ff48236 100644 Binary files a/docs/images/overview.pptx and b/docs/images/overview.pptx differ