Skip to content

Documentation updates for Toolchain changes #945

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion docs/reference/configuration/mbed_targets.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,15 @@ Enabling `is_disk_virtual` adds delay after flashing firmware binary to make sur

#### supported_toolchains

The `supported_toolchains` property is the list of toolchains that support a target. The allowed values for `supported_toolchains` are `ARM`, `uARM`, `ARMC6`, `GCC_ARM` and `IAR`.
The `supported_toolchains` property is the list of toolchains that support a target. The allowed values for `supported_toolchains` are `ARM`, `uARM`, `ARMC5`, `ARMC6`, `GCC_ARM` and `IAR`.

If you specify `ARMC5` in `supported_toolchains`, it means the corresponding target supports `Arm Compiler 5.06 update 6`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should be explicit that any new targets should support ARMC6 not 5.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bulislaw - Please see the updates.


If a target lists both `ARMC5` and `ARM` (or `ARMC6`) in `supported_toolchains`, the Arm Compiler 6.11 will be used when compiling with `ARM` option for `--toolchain`.

<span class="notes">**Note:** Although you can specify `ARMC5` in `supported_toolchains` in `targets.json`, it's not a valid option for `--toolchain` when compiling using [Mbed CLI](../tools/developing-mbed-cli.html).
Arm Compiler 6 is the default ARM toolchain for Mbed OS developmet. Most Mbed OS platforms are already compatible with Arm Compiler 6. Some existing targets still supporting Arm Compiler 5 will be migrated to Arm Compiler 6 in the future. Please be aware that you must use Arm Compiler 6 for future development, and we will validate all code contributions to Mbed OS Arm Compiler 6.
</span>

#### default_toolchain

Expand Down Expand Up @@ -427,3 +435,7 @@ The `orphans` command shows all targets that you cannot reach from a public targ
- EFR32MG1P132F256GM48
- EFR32MG1_BRD4150
```

### Related content

- [Developing: Mbed CLI](../tools/developing-mbed-cli.html).
17 changes: 10 additions & 7 deletions docs/tools/tools_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,26 @@ We created the Mbed command-line tool (Mbed CLI), a Python-based tool, specifica

Mbed OS 5 can be built with various toolchains. The currently supported versions are:

- [Arm compiler 5.06 update 6](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-5/downloads).
- [Arm compiler 6.11](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6).
- [GNU Arm Embedded version 6 (6-2017-q1-update)](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads).
- [IAR Embedded Workbench 8.32](https://www.iar.com/iar-embedded-workbench/tools-for-arm/arm-cortex-m-edition/).
- [IAR Embedded Workbench 8.32.1](https://www.iar.com/iar-embedded-workbench/tools-for-arm/arm-cortex-m-edition/).

##### Arm Mbed Online Compiler

The Mbed Online Compiler is our in-house IDE, and should be familiar to anyone who's been working with Mbed for a while. It switches the backing toolchain based on the architecture version:
The Mbed Online Compiler is our in-house IDE and should be familiar to anyone who's been working with Mbed for a while. It switches the backing toolchain based on the architecture version:

| Architecture version | Compiler |
|---- |---- |
| Arm v6M | Arm Compiler 5.06 update 6 |
| Arm v7M | Arm Compiler 5.06 update 6 |
| Arm v7A | Arm Compiler 5.06 update 6 |
| Arm v8M | Arm Compiler 6.10.1 |
| Arm v6M | `Arm Compiler 6.11` or `Arm Compiler 5.06 update 6` based on the ARM toolchain supported by the target (see `supported_toolchains` in [Adding and configuring targets](../reference/configuration/mbed_targets.html#)) |
| Arm v7M | `Arm Compiler 6.11` or `Arm Compiler 5.06 update 6` based on the ARM toolchain supported by the target (see `supported_toolchains` in [Adding and configuring targets](../reference/configuration/mbed_targets.html#)) |
| Arm v7A | `Arm Compiler 6.11` |
| Arm v8M | `Arm Compiler 6.11` |

For more information, please see the [Online Compiler page](developing-mbed-online-compiler.html).

<span class="note"> **Note:** Arm Compiler 6 is the default ARM toolchain for Mbed OS developmet. Most Mbed OS platforms are already compatible with Arm Compiler 6. Some existing targets still supporting Arm Compiler 5 will also be migrated to ARM Compiler 6 in the future. Please be aware that you must use Arm Compiler 6 for future development, and we will validate all code contributions to Mbed OS with Arm Compiler 6. </span>

##### Third party development tools

You can export your project from any of our tools to third party tools. For instructions, as well as tool-specific information, see [the Exporting to third party toolchains page](exporting.html).