-
Notifications
You must be signed in to change notification settings - Fork 3k
NRF52840_DK: Fix baremetal linker error #12166
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
NRF52840_DK: Fix baremetal linker error #12166
Conversation
@hugueskamba, 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.
Why is this necessary? Why isn't the FEATURE_CRYPTOCELL310
test that's already there sufficient?
Note that this change also makes the cryptocell "opt-in", as apps will now need requires: "cryptocell"
.
Not saying that this change is wrong, just not quite clear about it.
Is it the case that the cryptocell stuff doesn't compile bare-metal, so doing this takes it out, and then blinky works? Would requires: "cryptocell"
break it again?
Yeah I don't like to have double flag for hiding one thing. Is there something fundamentally stopping cryptocell working without RTOS? Answer "I don't know" is acceptable for now as we don't officially support TLS in baremetal, I would say would be ok to remove cryptocell from features in baremetal. I guess it could be done by the .lib we have in baremetal. |
@kjbracey-arm Please see the impact of changes in the PR description. Without this PR it is not possible to build for that target using the bare metal profile. |
As a quick fix maybe it would be better to not build cryptocell if we are in baremetal mode (without introducing new flags, but by testing the existing ones). Longer term I don't see why that shouldn't be possible. |
I am not sure there is an existing flag to use as the cryptocell code. The cryptocell code is not currently identified as a separate library. |
It was discussed previously here #11428 - this PR is a fix for this issue. How do we remove tls for instance? The same could be applied to cryptocell ? Or do just need to remove this feature from the target itself and let an app to add it ? |
@hugueskamba Please review |
From what I read in the GitHub issue, there was no proposed flag to use. Removing the feature was not seen as an option as it will also remove it for non-baremetal builds. |
ceb85fd
to
89ecc81
Compare
CI started |
Test run: FAILEDSummary: 2 of 4 test jobs failed Failed test jobs:
|
Compile in the inclusion of cryptocell310 only if the library is included in the build
89ecc81
to
65fbee1
Compare
Pull request has been modified.
Pull request has been modified.
@0xc0170 , |
CI restarted |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
This shall be now ready and can go in today. |
Summary of changes
Fixes #11428
Compile in the inclusion of cryptocell310 only if the library is included
in the build
Impact of changes
It is now possible to build MCU_NRF52840 targets with the baremetal profile.
i.e It is now possible to build
mbed-os-example-blinky-baremetal
with$ mbed compile -t <TOOLCHAIN> -m NRF52840_DK
Migration actions required
Documentation
Pull request type
Test results
Reviewers