-
Notifications
You must be signed in to change notification settings - Fork 3k
Get rid of FEATURE_COMMON_PAL and FEATURE_NANOSTACK #6577
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
@OPpuolitaival @kjbracey-arm Please review. |
CC: @mikaleppanen |
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.
Looks good and we really need this but I am not right person to look at code level
Doxygen failures are because I have renamed some folder without touching its configuration files. I'll fix those once review of this work has been approved. |
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.
Approve - only caveat is that in the past I've seen git subtree pull
refuse to work when the destination has moved, so that might cause problems updating some of the components in future.
If that's still the case, I believe @mikaleppanen should still have a copy of a tiny tweak to the git-subtree.sh
script to avoid that.
👍 |
b56fa19
to
cc5369a
Compare
Rebased on top of master. Can somebody explain why PR verification job does this:
Why does it MODIFY the Mbed OS repository? I just moved the stuff there, and the build is now broken. |
@geky Can you review the events Travis failure? ^^ related to the rm command |
Ah, that test trys to compile without the rtos. Currently the netsocket API depends on the rtos so it must also be removed to compile. Does nanostack depend on the netsocket API? If so it needs to be added to the "rm" command to test for the rtos-less build. Currently rtos-less mbed is used by an annoying amount of users: |
Is this method documented somewhere? Hacking the build system should not be one of the official supported method. |
And yes, Nanostack provides implementation so it depends on the Socket API. |
Do we know where that extra 1k is from? |
When running Left (RED) diff is this PR. Right(green) is the master +-------------------------------------------------------------------------------------------------------------+-------+-------+------+
| Module | .text | .data | .bss |
+-------------------------------------------------------------------------------------------------------------+-------+-------+------+
4c4
< | [fill] | 85 | 3 | 21 |
---
> | [fill] | 116 | 3 | 13 |
66d65
< | mbed-os/drivers/InterruptIn.o | 16 | 0 | 0 |
69,72d67
< | mbed-os/drivers/Ticker.o | 200 | 0 | 0 |
< | mbed-os/drivers/Timeout.o | 165 | 0 | 0 |
< | mbed-os/drivers/Timer.o | 106 | 0 | 0 |
< | mbed-os/drivers/TimerEvent.o | 124 | 0 | 0 |
74d68
< | mbed-os/features/nanostack/nanostack-hal-mbed-cmsis-rtos/arm_hal_timer.o | 100 | 4 | 96 |
79c73
< | mbed-os/hal/mbed_ticker_api.o | 1034 | 0 | 0 |
---
> | mbed-os/hal/mbed_ticker_api.o | 862 | 0 | 0 |
87c81
< | mbed-os/platform/mbed_retarget.o | 1258 | 260 | 16 |
---
> | mbed-os/platform/mbed_retarget.o | 1246 | 260 | 16 |
129c123
< | Subtotals | 49802 | 2940 | 6896 |
---
> | Subtotals | 48938 | 2936 | 6792 |
131,133c125,126
< Total Static RAM memory (data + bss): 9836 bytes
< Total Flash memory (text + data): 52742 bytes
<
---
> Total Static RAM memory (data + bss): 9728 bytes
> Total Flash memory (text + data): 51874 bytes |
Okay, looks like some |
cc5369a
to
a9cc407
Compare
Cherry picked Kevin's fix for using Current Mbed OS master
This pull request
|
Great news, thanks @kjbracey-arm |
I should point out this is also the only test with events + mbed 2. I'm open to an alternative approach but I'm not aware of any. |
Rebased on top of master. |
/morph build |
Build : SUCCESSBuild number : 1872 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 1520 |
Test : FAILUREBuild number : 1685 |
Master contains the fix for the flash test failed the previous week, restarting /morph test |
Restarting tests (been a week), the latest test did not get triggered due to CI outage. /morph build |
Build : SUCCESSBuild number : 1911 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 1557 |
Test : SUCCESSBuild number : 1728 |
* Updates driver library to v2.3.1 (2018q1) for bugfixes and convenience functions * Provides library in correct format (2-byte wchar_t flag) for compiling with ARMCC (#6695 uncovered by #6577) * Reverts to using a statically-allocated packet buffer since malloc is not thread-safe (and the asserts have been turned on)
This should be now ready for integration 🎉 |
Description
Get rid of
FEATURE_COMMON_PAL
andFEATURE_NANOSTACK
Nanostack related files moved under 'feature/nanostack'
Common libraries moved to 'features/frameworks'
Allow FEATURE_COMMON_PAL and FEATURE_NANOSTACK still to be defined in the build so
that we don't break any builds.
This change is required for future when we start enabling network related tests that depend on the common libraries that are otherwise moved to
FEATURE_COMMON_PAL
orFEATURE_NANOSTACK
which in first place was temporary solution. None of those libraries under these two folders are target specific.Pull request type
Effects on RAM/ROM usage
RAM: none
ROM: depend on the linkker.
Tested mbed-os-example-blinky with GCC 6.3.1 20170620 and Flash hit was less than 1kB.
master branch:
After this change
Future
After this change there will be
And after EMAC work, the
FEATURE_LWIP
can go as well as it becomes driver independent, and all drivers became stack independent.