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

Adding arch option instead MCPU for no dsp and no fpu support #8729

Merged
merged 1 commit into from Nov 15, 2018

Conversation

Projects
None yet
7 participants
@deepikabhavnani
Contributor

deepikabhavnani commented Nov 13, 2018

Description

Cortex-M33 has optional floating point and DSP, the mcpu option by default enables optional features. To disable optional features we need to add +nodsp +nofp.

But nofp is supported after 8.x version of toolchain. Hence to get this we will have to use -march option instead of -mcpu

Pull request type

[X] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change
Adding arch option instead MCPU for no dsp and no fpu support
No FPU option is valid, but supported only for 8.x releases, with 7.x release
+nofp gives build errors.

@deepikabhavnani deepikabhavnani requested a review from gaborkertesz Nov 13, 2018

@cmonr cmonr added the needs: review label Nov 13, 2018

@cmonr cmonr requested a review from ARMmbed/mbed-os-tools Nov 13, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Nov 13, 2018

@deepikabhavnani I thought it was mentioned in a different PR that +nofp was needed.

@deepikabhavnani

This comment has been minimized.

Contributor

deepikabhavnani commented Nov 13, 2018

@cmonr - Yes in #8449

We have few Cortex-M33 with optional floating point and DSP, the mcpu option by default enables optional features. To disable optional features we need to add +nodsp +nofp.

But in tools if we set core as cortex-M33 it is without optional features, to select particular feature we need to explicitly append F - Floating point.

In 8449, Cortex-M33F was added and Cortex-M33 was updated.

Cortex-M33 = cortex-m33+nodsp+nofp - But nofp is supported after 8.x version of toolchain. Hence to get this we will have to use -march option instead of -mcpu

Cortex-M33F= cortex-m33+nodsp - This enables floating point for 8449.

Hope this helps.

@gaborkertesz

This comment has been minimized.

Contributor

gaborkertesz commented Nov 13, 2018

Musca-A GCC_ARM build is working as expected with this fix.

@cmonr cmonr added needs: CI and removed needs: review labels Nov 13, 2018

@adbridge

This comment has been minimized.

Contributor

adbridge commented Nov 14, 2018

@deepikabhavnani Could you clarify the description for this PR please.

No FPU option is valid, but supported only for 8.x releases, with 7.x release +nofp gives build errors.

This is not very clear especially to the casual observer.

@adbridge

This comment has been minimized.

Contributor

adbridge commented Nov 14, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Nov 14, 2018

Build : SUCCESS

Build number : 3622
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/8729/

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@gaborkertesz

This comment has been minimized.

Contributor

gaborkertesz commented Nov 14, 2018

@adbridge @deepikabhavnani
The background of this change (revert of a previous commit) is that the nofp feature is added by GCC 8 (https://gcc.gnu.org) for Cortex-M33, but version 8 is not yet published as a binary by Arm, the latest is 7.3 (https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads)

So we shouldn't use +nofp for Cortex-M33 until GCC 8 is released for M class processors and if it's released and its features used by mbed build, the corresponding compiler version should be enforced by the build system.

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@deepikabhavnani

This comment has been minimized.

Contributor

deepikabhavnani commented Nov 15, 2018

@ARMmbed/mbed-os-maintainers - Failures does not look like related to PR, is it some CI issue ?

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Nov 15, 2018

@ARMmbed/mbed-os-maintainers - Failures does not look like related to PR, is it some CI issue ?

That is correct, I'll add this to the new rollup PR to restart testing there

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Nov 15, 2018

Note: This PR is now a part of a rollup PR (#8753).

In order to expedite remaining CI testing, this PR has been bundled into the above rollup PR.

No further work is needed here, as once that PR is merged, this PR will also be closed and marked as merged.

If any more commits are made in this PR, this PR will remain open and have to go through CI on its own.

@cmonr

This comment has been minimized.

Contributor

cmonr commented Nov 15, 2018

Please ignore. I derped.

@cmonr cmonr merged commit a6ed5fc into ARMmbed:master Nov 15, 2018

16 of 18 checks passed

ci-morph-exporter build completed
Details
ci-morph-test test completed
Details
ci-morph-build build completed
Details
ci-morph-mbed2-build build completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/build-ARM Success
Details
jenkins-ci/build-GCC_ARM Success
Details
jenkins-ci/build-IAR Success
Details
jenkins-ci/cloud-client-test Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Passed, 49 files (+0 files)
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9105 cycles (-1133 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details

@deepikabhavnani deepikabhavnani deleted the deepikabhavnani:Musca_march branch Nov 15, 2018

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