-
Notifications
You must be signed in to change notification settings - Fork 3k
Make mbed-trace available to bare metal #13649
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
Conversation
@LDong-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.
That's a good solution!
Some code in "drivers" and "targets" use mbed-trace, which when disabled has zero overhead as trace function calls are masks by dummy macros.
This reverts commit 183ca77. Now the "mbed_trace.h" header is always available and maps trace functions to dummy macros when tracing is disabled.
cf45039
to
ca40038
Compare
@evedon Thanks for the review, I've addressed your comment. |
Hi @artokin, for reasons described above (Mbed OS bare metal), we need an extra check for IPv6 availability. This means updated |
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.
I've just hit this problem with CMake, good to have it fixed !
CI started |
Same here! |
Jenkins CI Test : ✔️ SUCCESSBuild Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
Summary of changes
(Replaces #13617)
As discussed in #13617, we decide that
mbed-trace
is a basic feature and should be always available, even in bare metal builds. This is required by some targets and drivers code.Note: Previously IPv6 tracing is enabled by default, which has dependency on
nanostack-libservice
(unavailable to bare metal). Rather than simply disabling IPv6 tracing which would break existing applications, we add a flagnanostack-libservice.present
(which translates toMBED_CONF_NANOSTACK_LIBSERVICE_PRESENT
) and set IPv6 tracing accordingly.Impact of changes
mbed-trace
is now available to all bare metal builds, without having to manually enable it.Migration actions required
It's crucial that
nanostack-libservice
contains thenanostack-libservice.present
change, otherwisembed-trace
will not enable IPv6 tracing.The changes are upstreamed to PelionIoT/nanostack-libservice#92 and PelionIoT/mbed-trace#99
Documentation
None.
Pull request type
Test results
Reviewers
@ARMmbed/mbed-os-core @artokin @jeromecoutant @kjbracey-arm