-
Notifications
You must be signed in to change notification settings - Fork 3k
UBLOX_EVK_ODIN_W2: Fix baremetal build and greentea tests #11881
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
UBLOX_EVK_ODIN_W2: Fix baremetal build and greentea tests #11881
Conversation
...TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/OdinWiFiInterface.h
Show resolved
Hide resolved
@@ -14,6 +14,8 @@ | |||
* limitations under the License. | |||
*/ | |||
|
|||
#ifdef MBED_CONF_RTOS_PRESENT |
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 don't think it should be gated by the RTOS, but by either LWIP or some other networking flag.
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.
@@ -13,6 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
#if !MBED_CONF_RTOS_PRESENT |
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 should be gated by presence of BLE not RTOS
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.
Please review this.
12c8414
to
e8e9c8f
Compare
CI started |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
CI restarted |
Test run: FAILEDSummary: 1 of 12 test jobs failed Failed test jobs:
|
@0xc0170 This error is caused by CI system / tools. We are currently conducting research with this topic. Unfortunately errors are intermittent. Retest should help here. |
will monitor other Prs as well. I restarted the job |
@@ -15,10 +15,14 @@ | |||
* limitations under the License. | |||
*/ | |||
|
|||
#ifdef MBED_CONF_RTOS_PRESENT |
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 should use DEVICE_WIFI
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.
It cannot be that because DEVICE_WIFI
is ALWAYS included for that target as it is in targets.json
.
If there is a wifi library perhaps we can add a "present" : 1
attribute in its mbed_lib.json
. I have not identified a wifi
library.
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.
Isn't wifi dependant on lwip anyway? So would use the same as for OdinWiFiInterface.h
file, instead of rtos, use lwip dependency.
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.
@@ -1,6 +1,7 @@ | |||
{ | |||
"name": "lwip", | |||
"config": { | |||
"present": 1, |
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.
What does this change exactly?
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.
It creates #define MBED_CONF_LWIP_PRESENT 1
.
If a build includes the lwIP
library it will define that macro and thus will compile in the code that is gated with #if MBED_CONF_LWIP_PRESENT
. It was added so it can be excluded for baremetal builds when the liibrary is not included.
In summary, without this non-baremetal builds will always fail if the build relies on lwIP.
We cannot use FEATURE_LWIP
because it is always defined for a given target that supports LWIP.
FEATURE_LWIP
= target supports the lwIP feature
MBED_CONF_LWIP_PRESENT
= the lwIP lib is included in the build
Remove lwIP reliant networking and BLE tests for baremetal Mbed OS 5 ported lwIP in its OS mode and uses threads. Networking that rely on lwIP needs to be removed so it can be compiled with the baremetal profile. The BLE cordio Greentea tests are also disabled given that the feature is not supported without an RTOS.
e8e9c8f
to
157d126
Compare
CI restarted |
Test run: SUCCESSSummary: 12 of 12 test jobs passed |
@bulislaw The latest update is OK to go in today? |
Description (required)
Remove lwIP reliant networking and BLE tests for baremetal
Mbed OS 5 ported lwIP in its OS mode and uses threads. Networking
that rely on lwIP needs to be removed so it can be compiled with the
baremetal profile.
The BLE cordio Greentea tests are also disabled given that the feature
is not supported without an RTOS.
Summary of change (What the change is for and why)
The changes allow the baremetal greentea tests to successfully build and run on the target.
mbed test -t GCC_ARM --app-config TESTS/configs/baremetal.json -m UBLOX_EVK_ODIN_W2
Documentation (Details of any document updates required)
Pull request type (required)
Test results (required)
Reviewers (optional)
@rajkan01 @evedon @jamesbeyond
Release Notes (required for feature/major PRs)
Summary of changes
Impact of changes
Migration actions required