Skip to content
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

FUTURE_SEQUANA: Add suport for ARMC6 #10346

Merged
merged 3 commits into from Apr 9, 2019

Conversation

Projects
None yet
6 participants
@lrusinowicz
Copy link
Contributor

commented Apr 8, 2019

Description

This PR adds necessary set of changes to support ARMC6 compiler for FUTURE_SEQUANA family of targets. I've run default set of mbed tests on it and tests generally pass, except for a few failures related to device_key and flash API. I strongly suspect these are unrelated and would rather fix them separately.

Intended to fix #9578.

Pull request type

[ ] Fix
[ ] Refactor
[x] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

Release Notes

lrusinowicz added some commits Mar 20, 2019

FUTURE_SEQUANA: Flatten PDL library paths
This change moves all PDL drivers into common source and include
directories to alleviate issue with Windows version of GNU Make 4.x
maximum command line length limit.
FUTURE SEQUANA: Fixed linker scripts for ARMC6
Also enabled ARMC6 compiler for FUTURE_SEQUANA family of targets.
@orenc17
Copy link
Contributor

left a comment

Please add volatile for the unused variables

@@ -615,11 +615,13 @@ __STATIC_INLINE void Cy_IPC_Drv_SetInterrupt(IPC_INTR_STRUCT_Type* base, uint32
*******************************************************************************/
__STATIC_INLINE void Cy_IPC_Drv_ClearInterrupt(IPC_INTR_STRUCT_Type* base, uint32_t ipcReleaseMask, uint32_t ipcNotifyMask)
{
uint32_t unused;

This comment has been minimized.

Copy link
@orenc17

orenc17 Apr 8, 2019

Contributor

i think you should add volatile so the compiler wont optimize that out

This comment has been minimized.

Copy link
@lrusinowicz

lrusinowicz Apr 8, 2019

Author Contributor

I was thinking about it, but the ARM clang reference manual states (section 7.12 Qualifiers):

Value computation of an lvalue expression with a volatile qualified type constitutes an access to the corresponding object, even when the value is discarded.

So I think it's ok, as it's hw register (data field), that is declared volatile. Variable unused could be skipped.
Same holds true for GCC.

@ciarmcom ciarmcom requested a review from ARMmbed/mbed-os-maintainers Apr 8, 2019

@ciarmcom

This comment has been minimized.

Copy link
Member

commented Apr 8, 2019

@lrusinowicz, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

@orenc17

orenc17 approved these changes Apr 8, 2019

@cmonr cmonr added needs: review and removed needs: review labels Apr 8, 2019

@0xc0170

0xc0170 approved these changes Apr 9, 2019

@0xc0170

This comment has been minimized.

Copy link
Member

commented Apr 9, 2019

CI started

@mbed-ci

This comment has been minimized.

Copy link

commented Apr 9, 2019

Test run: SUCCESS

Summary: 11 of 11 test jobs passed
Build number : 1
Build artifacts

@0xc0170 0xc0170 added ready for merge and removed needs: CI labels Apr 9, 2019

@cmonr cmonr merged commit 67de89d into ARMmbed:master Apr 9, 2019

26 checks passed

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/dynamic-memory-usage RTOS ROM(+0 bytes) RAM(+0 bytes)
Details
jenkins-ci/exporter Success
Details
jenkins-ci/greentea-test Success
Details
jenkins-ci/mbed2-build-ARM Success
Details
jenkins-ci/mbed2-build-GCC_ARM Success
Details
jenkins-ci/mbed2-build-IAR Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Local astyle testing has passed
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/doxy-spellcheck Local doxy-spellcheck testing has passed
Details
travis-ci/events Passed, runtime is 9123 cycles (-888 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/include_check Local include_check testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8408B (+0.00%)
Details
travis-ci/psa-autogen Local psa-autogen testing has passed
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
travis-ci/tools-py3.5 Local tools-py3.5 testing has passed
Details
travis-ci/tools-py3.6 Local tools-py3.6 testing has passed
Details
travis-ci/tools-py3.7 Local tools-py3.7 testing has passed
Details

@cmonr cmonr removed the ready for merge label Apr 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.