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

ARMC6 support for Cortex-M23 #5094

Merged
merged 4 commits into from Sep 19, 2017

Conversation

Projects
None yet
6 participants
@deepikabhavnani
Contributor

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.

@theotherjimmy

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"):

This comment has been minimized.

@theotherjimmy

theotherjimmy Sep 13, 2017

Contributor

what does ns at the end of the core signify? NEON?

This comment has been minimized.

@deepikabhavnani

deepikabhavnani Sep 13, 2017

Contributor

NS - Non Secure

This comment has been minimized.

@theotherjimmy

theotherjimmy Sep 13, 2017

Contributor

Thanks!

self.flags['common'].append("-march=armv8-m.main")
if target.core == "Cortex-M23" or target.core == "Cortex-M33":
self.flags['common'].append("-mcmse")

This comment has been minimized.

@theotherjimmy

theotherjimmy Sep 13, 2017

Contributor

What does this flag do?

This comment has been minimized.

@deepikabhavnani

deepikabhavnani Sep 13, 2017

Contributor

Cortex-M23-NS : Non-secure build
Cortex-M23: Secure build (-mcmse flag is required to build a secure image).

This comment has been minimized.

@theotherjimmy

theotherjimmy Sep 13, 2017

Contributor

Super helpful.

This comment has been minimized.

@0xc0170

0xc0170 Sep 19, 2017

Member

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

This comment has been minimized.

Contributor

theotherjimmy commented Sep 13, 2017

Gatekeepers: Be aware that I did not review the C/C++/ASM, just the python.

Corrected check for ARM/ARMC6 toolchain
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.

@deepikabhavnani deepikabhavnani force-pushed the deepikabhavnani:m23_armc6 branch to eea29d3 Sep 14, 2017

@theotherjimmy

This comment has been minimized.

Contributor

theotherjimmy commented Sep 15, 2017

Fixed the tests for you.

@theotherjimmy

This comment has been minimized.

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

This comment has been minimized.

Contributor

theotherjimmy commented Sep 18, 2017

/morph test

@mbed-bot

This comment has been minimized.

mbed-bot commented Sep 18, 2017

Result: ABORTED

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

/morph test

@deepikabhavnani

This comment has been minimized.

Contributor

deepikabhavnani commented Sep 18, 2017

/morph test

1 similar comment
@studavekar

This comment has been minimized.

Collaborator

studavekar commented Sep 18, 2017

/morph test

@mbed-bot

This comment has been minimized.

mbed-bot commented Sep 19, 2017

Result: SUCCESS

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

/morph test

Output

mbed Build Number: 1337

All builds and test passed!

@0xc0170

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

4 checks passed

Cam-CI uvisor Build & Test Success
Details
ci/morph-test Job has completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@deepikabhavnani deepikabhavnani deleted the deepikabhavnani:m23_armc6 branch Sep 19, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment