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
Correct some CPU selections in tools #10390
Conversation
Target KW24D is currently marked to not work with ARMC6 - it's possible that this FPU selection problem is the only reason - it's the only real target with |
@kjbracey-arm, thank you for your changes. |
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.
Nice catch! Looks good to me, probably should run this past @deepikabhavnani too.
No issue in explicitly setting fpu and dsp options, but it will be good to verify them and make sure all combinations are tested in CI, for some weird reasons I have seen fp is accepted and no_fp not with different compiler versions, don;t remember the exact combinations on top of my head but saw this weird behavior recently. |
Lets start first CI |
We would have to add a bunch of dummy targets for the as-yet-unused CPU selections. I'm not sure if it's worth it - we would find any problems immediately when someone tries adding a new target. (This one did pop up with someone adding a non-FP Cortex-M7 in a private repo). |
Test run: FAILEDSummary: 2 of 11 test jobs failed Failed test jobs:
|
restarted jenkins-ci/mbed-os-ci_dynamic-memory-usage |
restarted jenkins-ci/greentea-test |
@kjbracey-arm - I think "build-ARM" is failing with KW24D cause its still compiling with ARMC5. Please make a change to targets.json for KW24D to replace "ARMC5" entry with "ARM" in supported_toolchains. |
KW24D failed to build with the following error: @SenRamakri we probably don't want to shift the KW24D to ARMC6 until the target has been verified to work with that right? Is this work already done? |
@bridadan - This is the change we need to have KW24D(Coretx-M4 targets) working with ARMC6. @studavekar has already verified this. |
Test run: FAILEDSummary: 1 of 7 test jobs failed Failed test jobs:
|
Ah good to know! Thanks @SenRamakri |
|
Adjusted ARMC5 selections - I want to check that makes the KW24D work with ARMC5, then I'll switch it to use ARMC6. |
CI started |
Test run: FAILEDSummary: 1 of 11 test jobs failed Failed test jobs:
|
restarted jenkins-ci/greentea-test |
* For ARMC6, core types `Cortex-M4` and `Cortex-M7` did not explicitly add `--fpu=none`, so it defaulted to assuming FPU present. This would cause a compilation error if the target's cmsis.h had `__FPU_PRESENT` defined to 0. * For GCC, `Cortex-M33FE` did not include `+dsp` in the architecture selection. * For ARMC5 and ARMC6, `Cortex-M0+` did not pass `M0plus` to the non-Clang tools.
There was a gap in our pattern - we didn't offer M33 with DSP Extension but no floating-point.
KW24D was set to ARMC5 because the ARMC6 tooling didn't correctly handle Cortex-M4 without floating-point. Now fixed.
Cortex-M7F versus M7FD flags to ARMC6 linker+assembler had got muddled - hopefully fixed now. |
I started CI on this as it has been pending for more than a day. |
Test run: FAILEDSummary: 1 of 11 test jobs failed Failed test jobs:
|
Description
For ARMC6, core types
Cortex-M4
andCortex-M7
did not explicitly add--fpu=none
, so it defaulted to assuming FPU present. This would cause a compilation error if the target's cmsis.h had__FPU_PRESENT
defined to 0.For GCC,
Cortex-M33FE
did not include+dsp
in the architecture selection.For ARMC5 and ARMC6,
Cortex-M0+
did not passM0plus
to the non-Clang tools.Add missing
Cortex-M33E
DSP Extension without FP possibility.Switch KW24D to use ARMC6 - it was using ARMC5 because it has non-FP Cortex-M4 and hit this tool problem.
Pull request type