Skip to content

Commit

Permalink
Update Experimental-Features.md
Browse files Browse the repository at this point in the history
Various minor adjustments according to Grammarly check
  • Loading branch information
rkopsch authored and brondani committed Jan 10, 2025
1 parent 43b0382 commit ae8c296
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions docs/Experimental-Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ The CMSIS-Toolbox version 2.7 implements the experimental features for:
- [Resource Management](#resource-management)
- [Run and Debug Management](#run-and-debug-management)

Hardening and finalizing of this features is planned for CMSIS-Toolbox version 2.8.
Hardening and finalizing of these features is planned for CMSIS-Toolbox version 2.8.

## Resource Management

In a multi-processor or multi-project application the `target type` describes the target hardware. A solution is a collection of related projects and the context-set defines the projects that are deployed to the target hardware. A project uses a subset of resources (called regions at linker level).
In a multi-processor or multi-project application, the `target type` describes the target hardware. A solution is a collection of related projects, and the context set defines the projects that are deployed to the target hardware. A project uses a subset of resources (called regions at linker level).

The [linker script management](build-overview.md#linker-script-management) is extended for multi-processor or multi-project applications with the following features:

- When [`resources:`](#resources) node is specified in one of the `*.cproject.yml` or `*.clayer.yml` files of a *csolution project*:
- The file `.\cmsis\<solution-name>+<target-name>.regions.h` is generated. This file contains the global region settings of a solution for one target-type.
- The file `.\cmsis\<solution-name>+<target-name>.regions.h` replaces the `regions_<device_or_board>.h` that is located in the directory `./RTE/Device/<device>`. The `regions_<device_or_board>.h` is longer generated.
- The file `.\cmsis\<solution-name>+<target-name>.regions.h` is generated. This file contains the global region settings of a solution for one target type.
- The file `.\cmsis\<solution-name>+<target-name>.regions.h` replaces the `regions_<device_or_board>.h` that is located in the directory `./RTE/Device/<device>`. The `regions_<device_or_board>.h` is no longer generated.

- A `define: <project-name>_cproject` is always added to the linker script pre-processor (also when no `resources:` node is used).

Expand All @@ -31,10 +31,10 @@ The following picture explains the extended linker script management for multi-p

### `resources:`

The `resources:` node specifies the resources required by a project. It is used at the level of `project:`, `setup:`, or `layer:`. The `resources:` node is additive; when multiple `resources:` nodes specify the same region the size is added.
The `resources:` node specifies the resources required by a project. It is used at the level of `project:`, `setup:`, or `layer:`. The `resources:` node is additive; when multiple `resources:` nodes specify the same region, the size is added.

!!! Note
In a next iteration, the linker script may be generated by the CMSIS-Toolbox and [features from uVision to allocate source modules to specific regions](https://developer.arm.com/documentation/101407/0541/Creating-Applications/Tips-and-Tricks/File-and-Group-Specific-Options) may get added. Therefore the `resources:` node is forward looking in the way heap and stack is specified.
In a next iteration, the linker script may be generated by the CMSIS-Toolbox and [features from uVision to allocate source modules to specific regions](https://developer.arm.com/documentation/101407/0541/Creating-Applications/Tips-and-Tricks/File-and-Group-Specific-Options) may get added. Therefore the `resources:` node is forward-looking in the way heap and stack are specified.

```yml
resources:
Expand Down Expand Up @@ -149,7 +149,7 @@ The CMSIS-Pack PDSC files contain information about device/board parameters and
The CMSIS-Toolbox build system manages device/board/software components, controls the build output (typically ELF/DWARF files), and has provisions for HEX, BIN and post-processing. It allows to manage different [target-types](build-overview.md#project-setup-for-related-projects) and the [context set](build-overview.md#working-with-context-set) manages the images that belong to a target.
In addition the user may need the following information which should be added to the YML-Input files for the CMSIS-Toolbox.
In addition, the user may need the following information, which should be added to the YML-Input files for the CMSIS-Toolbox.
- Flash algorithms for external memory in custom hardware (see [Adding Memory](#adding-memory)).
- ToDo: Additional images that should be loaded.
Expand All @@ -158,11 +158,11 @@ In addition the user may need the following information which should be added to
### `<target-name>.cbuild-run.yml`

The `<target-name>.cbuild-run.yml` is generated in the `output` folder and provides the relevant information for executing Run and Debug commands. Using the option `--output` allows to redirect the build information files, the `tmp` and `out` directory. It is planned to introduce for VS Code the `.cmsis` folder that contains the output. Overall the `*.cbuild-run.yml` file:
The `<target-name>.cbuild-run.yml` is generated in the `output` folder and provides the relevant information for executing Run and Debug commands. Using the option `--output` allows to redirect the build information files, the `tmp` and `out` directories. The `.cmsis` folder that contains the output is planned to be introduced for VS Code. Overall the `*.cbuild-run.yml` file:

- simplifies the usage of flash programmers and debuggers.
- provides information for command line and IDE workflows in a consistent way.
- ensures that information is portable, i.e from a cloud-hosted CI system to a desktop test system.
- simplifies the usage of Flash programmers and debuggers.
- provides consistent information for command line and IDE workflows.
- ensures that information is portable, i.e. from a cloud-hosted CI system to a desktop test system.

The `<target-name>.cbuild-run.yml` file provides access to PDSC information and the build output of one target. It also exports the [Debug Access Sequences](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/debug_description.html).

Expand Down Expand Up @@ -239,7 +239,7 @@ cbuild-run:

### Usage

The `*.cbuild-run.yml` file can be directly passed to programmers and debug tools, for example using a command line option. It contains all information that needs to be passed.
The `*.cbuild-run.yml` file can be directly passed to programmers and debug tools, for example, using a command-line option. It contains all information that needs to be passed.

```bash
>programmer --csolution MyHardware.cbuild-run.yml
Expand Down

0 comments on commit ae8c296

Please sign in to comment.