Skip to content

Commit

Permalink
Updated documentation, added cbuild command examples (#70)
Browse files Browse the repository at this point in the history
Co-authored-by: Joachim Krech <[email protected]>
  • Loading branch information
ReinhardKeil and jkrech authored Aug 30, 2023
1 parent ec8aaa8 commit 827301e
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 19 deletions.
6 changes: 3 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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")

Expand All @@ -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
6 changes: 3 additions & 3 deletions docs/YML-Input-Format.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# User Input Files
# Project File Format

<!-- markdownlint-disable MD009 -->
<!-- markdownlint-disable MD013 -->
<!-- markdownlint-disable MD036 -->

[**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)
Expand Down
4 changes: 2 additions & 2 deletions docs/build-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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.

Expand Down
41 changes: 30 additions & 11 deletions docs/build-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -188,14 +189,41 @@ 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:

```bash
cpackget add Arm::CMSIS
cpackget add Arm::[email protected] # optional with version specification

```

### List Installed Packs
Expand Down Expand Up @@ -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.
Expand Down
Binary file modified docs/images/overview.pptx
Binary file not shown.

0 comments on commit 827301e

Please sign in to comment.