-
Notifications
You must be signed in to change notification settings - Fork 178
Documentation changes for new tools modifications for ARMC5/ARMC6 usage #1024
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
Documentation changes for new tools modifications for ARMC5/ARMC6 usage #1024
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already looking quite good, a few suggestions:
<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 development. 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> | ||
* If a target specify `ARM` in `supported_toolchains`, it means the target supports compiling with both `Arm Compiler 5` and `Arm Compiler 6`. Note that starting with `MbedOS 5.12 release`, `Arm Compiler 6` will | ||
be the default ARM Compiler for MbedOS. So, for a target which specifies `ARM` in `supported_toolchains`, the system will default to using `Arm Compiler 6` when you specify `-t ARM` with `mbed compile` command. If the build system |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing a space here:
be the default ARM Compiler for MbedOS. So, for a target which specifies `ARM` in `supported_toolchains`, the system will default to using `Arm Compiler 6` when you specify `-t ARM` with `mbed compile` command. If the build system | |
be the default ARM Compiler for Mbed OS. So, for a target which specifies `ARM` in `supported_toolchains`, the system will default to using `Arm Compiler 6` when you specify `-t ARM` with `mbed compile` command. If the build system |
be the default ARM Compiler for MbedOS. So, for a target which specifies `ARM` in `supported_toolchains`, the system will default to using `Arm Compiler 6` when you specify `-t ARM` with `mbed compile` command. If the build system | ||
fails to detect a valid configuration for `Arm Compiler 6`, it will automatically(without any manual intervention) try to detect if a valid confguration for `ARM Compiler 5` exists, and will continue using `ARM Compiler 5` if it successfully detects `ARM Compiler 5`. You may see a warning message in your standard output from build system indicating this behavior. | ||
|
||
* You can only specify one of `ARM`, `ARMC5` or `ARMC6` for `supported_toolchains` for a target in `targets/targets.json` or `custom_targets.json`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to know, I'm not currently erroring on this 😄. I can make this change.
</span> | ||
* If a target specify `ARM` in `supported_toolchains`, it means the target supports compiling with both `Arm Compiler 5` and `Arm Compiler 6`. Note that starting with `MbedOS 5.12 release`, `Arm Compiler 6` will | ||
be the default ARM Compiler for MbedOS. So, for a target which specifies `ARM` in `supported_toolchains`, the system will default to using `Arm Compiler 6` when you specify `-t ARM` with `mbed compile` command. If the build system | ||
fails to detect a valid configuration for `Arm Compiler 6`, it will automatically(without any manual intervention) try to detect if a valid confguration for `ARM Compiler 5` exists, and will continue using `ARM Compiler 5` if it successfully detects `ARM Compiler 5`. You may see a warning message in your standard output from build system indicating this behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest being more definite when documenting the behavior of the tools:
fails to detect a valid configuration for `Arm Compiler 6`, it will automatically(without any manual intervention) try to detect if a valid confguration for `ARM Compiler 5` exists, and will continue using `ARM Compiler 5` if it successfully detects `ARM Compiler 5`. You may see a warning message in your standard output from build system indicating this behavior. | |
fails to detect a valid configuration for `Arm Compiler 6`, it will automatically(without any manual intervention) try to detect if a valid configuration for `ARM Compiler 5` exists, and will continue using `ARM Compiler 5` if it successfully detects `ARM Compiler 5`. You will see a warning message in your standard output from the build system indicating this behavior. |
|
||
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`. | ||
- If you specify `ARMC5` in `supported_toolchains`, it means the target supports Arm Compiler 5 (version 5.06 update 6) only, and the build system uses Arm Compiler 5 when you specify `-t ARM` or `-t ARMC5` with `mbed compile` command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the target supports Arm Compiler 5, will supported_toolchains
show ARMC5
, or do you have to manually add that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AnotherButler - Good question, the changes which Brian is working on will add everything as required and according to these rules. So no manual addition required from user or the reader of this documentation. But I said "If you specify" because this document is talking about "Adding and configuring targets".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if I changed it to "If the target supports Arm Compiler 5 (version 5.06 update 6) only, supported_toolchains
will specify ARMC5
", would that be correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AnotherButler - It is technically correct. But I think the intended audience for this document is someone who is adding or configuring a target, as in the document title. That's why its written as "if you specify.." meaning whoever is adding or configuring a target. But I also want that information to be available for anyone, so I created a link from cli-compile.md to here. So, Ill leave that up to you and if the new format is cleaner/compact I would keep that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Edits looking real nice!
What would the URL for this doc be once it goes live? I will need to add this link to my tools PR. Thanks! |
Also, do we have docs telling the user how to upgrade to ARMC6? Should that be part of this doc or in a separate place? |
https://os.mbed.com/docs/mbed-os/v5.12/reference/configuration.html |
@iriark01 - I have pushed your suggestions, please take a look. |
@@ -43,38 +43,11 @@ The Mbed Online Compiler is our in-house IDE and should be familiar to anyone wh | |||
| 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="notes">**Note**: Arm Compiler 6 is the default Arm Compiler version for Mbed OS development, and is [free for use with Mbed OS]((https://os.mbed.com/docs/mbed-os/development/tools/index.html#compiler-versions). Most platforms are already compatible with it; platforms still supporting Arm Compiler 5 will be migrated to Arm Compiler 6. Please do not use Arm Compiler 5 in any new development, as its support will be deprecated in September 2019. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My mistake, in both notes, there are two ((
in the link; there should be only one
|
||
- It's invalid to use `-t ARMC5` with the `mbed compile` command for a target that specifies `ARMC6` for `supported_toolchains`, and it's invalid to use `-t ARMC6` if `supported_toolchains` specifies `ARMC5`. | ||
|
||
<span class="notes">**Note**: Arm Compiler 6 is the default Arm Compiler version for Mbed OS development, and is [free for use with Mbed OS]((https://os.mbed.com/docs/mbed-os/development/tools/index.html#compiler-versions). Most platforms are already compatible with it; platforms still supporting Arm Compiler 5 will be migrated to Arm Compiler 6. Please do not use Arm Compiler 5 in any new development, as its support will be deprecated in September 2019. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My mistake, in both notes, there are two ((
in the link; there should be only one
Tried to resolve the conflict but I don't know which version is actually correct. @SenRamakri please can you resolve those? And @bulislaw can you recheck and approve? |
Fix note formatting, and add specific date at request of Product.
Make initial edits on PR.
Clarify note based on responses in comments.
Co-Authored-By: SenRamakri <[email protected]>
Co-Authored-By: SenRamakri <[email protected]>
1198d04
to
176fd2c
Compare
@iremic - I have resolved the merge conflicts as well. Thanks much for making those changes. |
Okay; I'll give Bartek time to dismiss his review or ask for more changes. Other than that we're good to go (I can fix the funky links when it's merged) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. One thing about page we are linking to tell users about free armc6 and how to get/confiugre it https://os.mbed.com/docs/mbed-os/development/tools/index.html#compiler-versions there's nothing there about free armc6 for mbed studio and how to use it with mbed cli.
Do we have that content anywhere? Do we need to write it? |
Amanda said we have content in the release note; I'll see if I can get anything sensible into the docs from that |
I'm merging this so we can see everything in one place (this is a fork, not a branch, so we don't get a preview on the docs site) |
This is documentation to go with new tools changes being implemented for supporting
ARMC5 with mbed-os tools.
This change depends on tools changes being implemented by @bridadan which are yet to be
landed in PR form. But please start the review process for this documentation change so that we are ready to go when tools changes are merged.
Tagging: @bridadan @bulislaw @AnotherButler @iriark01 @screamerbg @ChiefBureaucraticOfficer @kegilbert