-
Notifications
You must be signed in to change notification settings - Fork 2k
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
pkg/gecko_sdk: Bump to version 4.1.2 #18739
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,29 @@ | ||
# Copyright (c) 2021 HAW Hamburg | ||
# 2022 SSV Software Systems GmbH | ||
# | ||
# This file is subject to the terms and conditions of the GNU Lesser | ||
# General Public License v2.1. See the file LICENSE in the top level | ||
# directory for more details. | ||
# | ||
|
||
config PACKAGE_GECKO_SDK | ||
## Definition of Gecko SDK specific features | ||
config HAS_GECKO_SDK_LIBRAIL_NONFPU | ||
bool | ||
help | ||
Indicates that the CPU offers librail support if the FPU is disabled. | ||
Librail is shipped as pre-compiled blobs. Thus, we have to adapt to | ||
their choice how to process floats. | ||
|
||
config HAS_GECKO_SDK_LIBRAIL_FPU | ||
bool | ||
help | ||
Indicates that the CPU offers librail support if the FPU is enabled. | ||
Librail is shipped as pre-compiled blobs. Thus, we have to adapt to | ||
their choice how to process floats. | ||
Comment on lines
+20
to
+22
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've seen many surprising design choices made by Silabs ... but yes, I wouldn't expect a radio HAL using floats, as well :D But I can't tell - that's the problem with those vendor-specific blobs. Actually, I spent way too long with the integration because of those black boxes. And they weren't willing to let me look inside even after dozes of exchanged emails :/ |
||
|
||
|
||
## Provided modules | ||
menuconfig PACKAGE_GECKO_SDK | ||
bool "Vendor library for EFM/EFR/EZR32 MCUs" | ||
depends on TEST_KCONFIG | ||
help | ||
|
@@ -27,4 +45,18 @@ config MODULE_GECKO_SDK_EMLIB_EXTRA | |
help | ||
Extra utility methods from EMBLIB vendor library. | ||
|
||
config MODULE_GECKO_SDK_LIBRAIL | ||
bool "Radio Abstraction Interface Layer (RAIL)" | ||
depends on (HAS_GECKO_SDK_LIBRAIL_NONFPU && !MODULE_CORTEXM_FPU) || (HAS_GECKO_SDK_LIBRAIL_FPU && MODULE_CORTEXM_FPU) | ||
help | ||
The Silicon Labs Radio Abstraction Interface Layer (RAIL) is required | ||
to use the integrated radio offered by the EFR32 families. | ||
|
||
config MODULE_GECKO_SDK_LIBRAIL_PA | ||
bool "Power Amplifier Power Conversion Functions" | ||
depends on MODULE_GECKO_SDK_LIBRAIL | ||
help | ||
Helper to convert between transmission power in dBm and the | ||
chip- and circuit-specific raw power level. | ||
|
||
endif # PACKAGE_GECKO_SDK |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,6 @@ | ||
USEMODULE += gecko_sdk_emlib | ||
USEMODULE += gecko_sdk_emlib_extra | ||
|
||
ifneq (,$(filter gecko_sdk_librail_pa,$(USEMODULE))) | ||
USEMODULE += gecko_sdk_librail | ||
endif |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,14 @@ | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/common/inc | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/emlib/inc | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/emlib-extra/inc | ||
|
||
ifneq (,$(filter gecko_sdk_librail,$(USEMODULE))) | ||
ARCHIVES += $(BINDIR)/gecko_sdk_librail.a | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/radio/rail_lib/common | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/radio/rail_lib/chip/efr32/$(EFM32_LIBRAIL_HEADER_NAME) | ||
endif | ||
|
||
ifneq (,$(filter gecko_sdk_librail_pa,$(USEMODULE))) | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/radio/rail_lib/plugin/pa-conversions | ||
INCLUDES += -I$(PKGDIRBASE)/gecko_sdk/dist/radio/rail_lib/plugin/pa-conversions/$(EFM32_LIBRAIL_PA_HEADER_NAME)/config | ||
endif |
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 surprising to me. It is obvious that a library that expects a FPU won't function without it, but a lib not expecting an FPU could just not use it, even if it is 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.
Well, I can't link if
cortexm_fpu
is enabled. I really don't know if any floats are used in that blob, but the.ASM.attributes
section in the object indicates that it has been built with soft floats and, thus, the linker complains about that. That's at least what I'm observing here.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.
Those are the linker errors if I'm building `ikea-tradfri` with `gecko_sdk_librail` and `cortexm_fpu`
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.
OK, sounds like the calling convention is different when not using an FPU. Likely only for passing floats, but since librail actually does use floats this could indeed be a real issue.
I really should read the calling convention specs at some point in time to not be surprised by these things.