-
Notifications
You must be signed in to change notification settings - Fork 3k
ARMC6 support for Cortex-M23 #5094
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
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.
Tools changes look great. 👏 Could you explain a few of the flags?
@@ -285,6 +285,9 @@ def __init__(self, target, *args, **kwargs): | |||
elif target.core.lower().endswith("f"): | |||
self.flags['common'].append("-mcpu=%s" % target.core.lower()[:-1]) | |||
self.flags['ld'].append("--cpu=%s" % target.core.lower()[:-1]) | |||
elif target.core.lower().endswith("ns"): |
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.
what does ns
at the end of the core signify? NEON?
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.
NS - Non Secure
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.
Thanks!
self.flags['common'].append("-march=armv8-m.main") | ||
|
||
if target.core == "Cortex-M23" or target.core == "Cortex-M33": | ||
self.flags['common'].append("-mcmse") |
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.
What does this flag do?
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.
Cortex-M23-NS : Non-secure build
Cortex-M23: Secure build (-mcmse flag is required to build a secure image).
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.
Super helpful.
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.
Super helpful.
It might be better if this type of flags are part of the commit message what they do or in the code as comment if they have special meaning (why are we enabling a secure image).
Gatekeepers: Be aware that I did not review the C/C++/ASM, just the python. |
ARMC6 support required ARM compiler support as mandatory requirement which should not be the case. Cortex-M23/M33 devices are not suuported by ARM compiler5 Adding ARMC6 without ARM in target.json should work now.
ab67cdc
to
eea29d3
Compare
Fixed the tests for you. |
RE: known issue: install mbed CLI from git. It's currently supported on master. We will tag and release mbed CLI (probably 1.3.0) with mbed OS 5.6.0 |
/morph test |
Result: ABORTEDYour command has finished executing! Here's what you wrote!
|
/morph test |
1 similar comment
/morph test |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
OutputAll builds and test passed! |
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.
LGTM
For future, if we can add more decriptive commit messages for new flags (all those questions regarding new special flags would be answered by them).
Tools updated to support ARMC6 toolchain for Cortex-M23. Also added ARM context switch assembly file.
Known Issue:
ARMC6_PATH set using
mbed config -G
command is not working. Set environment variable "MBED_ARMC6_PATH" for time being.