Skip to content

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

Merged
merged 4 commits into from
Sep 19, 2017
Merged

Conversation

deepikabhavnani
Copy link

@deepikabhavnani deepikabhavnani commented Sep 13, 2017

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.

Copy link
Contributor

@theotherjimmy theotherjimmy left a 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"):
Copy link
Contributor

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?

Copy link
Author

Choose a reason for hiding this comment

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

NS - Non Secure

Copy link
Contributor

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")
Copy link
Contributor

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?

Copy link
Author

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).

Copy link
Contributor

Choose a reason for hiding this comment

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

Super helpful.

Copy link
Contributor

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).

@theotherjimmy
Copy link
Contributor

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.
@theotherjimmy
Copy link
Contributor

Fixed the tests for you.

@theotherjimmy
Copy link
Contributor

theotherjimmy commented Sep 15, 2017

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

@theotherjimmy
Copy link
Contributor

/morph test

@mbed-bot
Copy link

Result: ABORTED

Your command has finished executing! Here's what you wrote!

/morph test

@deepikabhavnani
Copy link
Author

/morph test

1 similar comment
@studavekar
Copy link
Contributor

/morph test

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1337

All builds and test passed!

Copy link
Contributor

@0xc0170 0xc0170 left a 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).

@adbridge adbridge merged commit 02a10e5 into ARMmbed:master Sep 19, 2017
@deepikabhavnani deepikabhavnani deleted the m23_armc6 branch September 19, 2017 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants