[EFR32] Upgrade to RAIL Lib 1.6.0. (#1946)

This commit is contained in:
Xiao Ma
2017-07-05 09:42:20 -07:00
committed by Jonathan Hui
parent 0d27c3e00b
commit ee84e1f83c
9 changed files with 51 additions and 55 deletions
+5 -5
View File
@@ -60,11 +60,11 @@ EFR32_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls-config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -DMBEDTLS_USER_CONFIG_FILE='\"efr32-mbedtls-config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -DEFR32MG12P432F1024GL125
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.0/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.0/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/Device/SiliconLabs/EFR32MG12P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.1/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.1/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/Device/SiliconLabs/EFR32MG12P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include/mbedtls
+2 -2
View File
@@ -105,11 +105,11 @@ endif # OPENTHREAD_EXAMPLES_DA15000
if OPENTHREAD_EXAMPLES_EFR32
LDADD_COMMON += \
$(top_builddir)/examples/platforms/efr32/libopenthread-efr32.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/radio/rail_lib/autogen/librail_release/librail_efr32xg12_gcc_release.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/radio/rail_lib/autogen/librail_release/librail_efr32xg12_gcc_release.a \
$(NULL)
LDFLAGS_COMMON += \
-T $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/efr32mg12p.ld \
-T $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/efr32mg12p.ld \
$(NULL)
endif # OPENTHREAD_EXAMPLES_EFR32
+2 -2
View File
@@ -105,11 +105,11 @@ endif # OPENTHREAD_EXAMPLES_DA15000
if OPENTHREAD_EXAMPLES_EFR32
LDADD_COMMON += \
$(top_builddir)/examples/platforms/efr32/libopenthread-efr32.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/radio/rail_lib/autogen/librail_release/librail_efr32xg12_gcc_release.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/radio/rail_lib/autogen/librail_release/librail_efr32xg12_gcc_release.a \
$(NULL)
LDFLAGS_COMMON += \
-T $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.0/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/efr32mg12p.ld \
-T $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.1/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/efr32mg12p.ld \
$(NULL)
endif # OPENTHREAD_EXAMPLES_EFR32
+19 -19
View File
@@ -38,7 +38,7 @@ override CXXFLAGS := $(filter-out -Wconversion,$(CXXF
override CFLAGS := $(filter-out -pedantic-errors,$(CFLAGS))
override CXXFLAGS := $(filter-out -pedantic-errors,$(CXXFLAGS))
EFR32MG_SDK_SRCDIR = $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.0
EFR32MG_SDK_SRCDIR = $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v1.1
libopenthread_efr32_a_CPPFLAGS = \
-DEFR32MG12P432F1024GL125 \
@@ -84,24 +84,24 @@ PLATFORM_SOURCES +=
endif
nodist_libopenthread_efr32_a_SOURCES = \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/hardware/kit/common/bsp/bsp_bcc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/hardware/kit/common/bsp/bsp_stk.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/startup_efr32mg12p.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emdrv/rtcdrv/src/rtcdriver.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emdrv/ustimer/src/ustimer.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_adc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_cmu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_core.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_emu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_gpio.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_rmu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_rtcc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_system.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_timer.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_usart.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_msc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/platform/emlib/src/em_crypto.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/hardware/kit/common/bsp/bsp_bcc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/hardware/kit/common/bsp/bsp_stk.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/startup_efr32mg12p.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emdrv/rtcdrv/src/rtcdriver.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emdrv/ustimer/src/ustimer.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_adc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_cmu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_core.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_emu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_gpio.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_rmu.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_rtcc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_system.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_timer.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_usart.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_msc.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/platform/emlib/src/em_crypto.c \
$(NULL)
noinst_HEADERS = \
+2 -2
View File
@@ -185,5 +185,5 @@ The following toolchain has been used for testing and verification:
- gcc version 4.9.3
The EFR32 example has been verified with following Flex SDK/RAIL Library version:
- Flex SDK version 1.1.1.0
- RAIL Library version 1.5.2.2
- Flex SDK version 1.1.1.0, RAIL Library version 1.5.2
- Flex SDK version 1.2.0.0, RAIL Library version 1.6.0
@@ -94,10 +94,4 @@ void efr32MiscInit(void);
*/
void efr32RandomInit(void);
/**
* Initialization of EFR32 Hardware Abstract Layer.
*
*/
void efr32HalInit(void);
#endif // PLATFORM_EFR32_H_
+4 -2
View File
@@ -51,13 +51,15 @@
otInstance *sInstance;
void HAL_Init(void);
void PlatformInit(int argc, char *argv[])
{
(void)argc;
(void)argv;
CHIP_Init();
efr32HalInit();
HAL_Init();
BSP_Init(BSP_INIT_BCC);
otPlatUartEnable();
@@ -142,7 +144,7 @@ void halInitChipSpecific(void)
CMU_ClockEnable(cmuClock_CORELE, true);
}
void efr32HalInit(void)
void HAL_Init(void)
{
halInitChipSpecific();
}
+14 -14
View File
@@ -315,7 +315,6 @@ otError otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
RAIL_TxData_t txData;
RAIL_TxOptions_t txOption;
uint8_t frame[IEEE802154_MAX_LENGTH + 1];
bool isAckRequested = (aFrame->mPsdu[0] & IEEE802154_ACK_REQUEST) ? true : false;
(void)aInstance;
CORE_DECLARE_IRQ_STATE;
@@ -330,27 +329,21 @@ otError otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
frame[0] = aFrame->mLength;
memcpy(frame + 1, aFrame->mPsdu, aFrame->mLength);
txData.dataPtr = frame;
txData.dataLength = aFrame->mLength - 1;
txOption.waitForAck = (aFrame->mPsdu[0] & IEEE802154_ACK_REQUEST) ? true : false;
txOption.removeCrc = false;
txOption.syncWordId = 0;
RAIL_TxPowerSet(aFrame->mPower);
setChannel(aFrame->mChannel);
RAIL_RfIdleExt(RAIL_IDLE, true);
otEXPECT_ACTION(RAIL_TxDataLoad(&txData) == RAIL_STATUS_NO_ERROR, error = OT_ERROR_FAILED);
if (isAckRequested)
{
otEXPECT_ACTION(RAIL_TxStart(aFrame->mChannel, RAIL_CcaCsma, &csmaConfig) == RAIL_STATUS_NO_ERROR,
error = OT_ERROR_FAILED);
}
else
{
txOption.waitForAck = false;
otEXPECT_ACTION(RAIL_TxStartWithOptions(aFrame->mChannel, &txOption, RAIL_CcaCsma, &csmaConfig) == RAIL_STATUS_NO_ERROR,
error = OT_ERROR_FAILED);
}
otEXPECT_ACTION(RAIL_TxStartWithOptions(aFrame->mChannel, &txOption, RAIL_CcaCsma, &csmaConfig) == RAIL_STATUS_NO_ERROR,
error = OT_ERROR_FAILED);
exit:
CORE_EXIT_CRITICAL();
@@ -653,6 +646,11 @@ void RAILCb_TxRadioStatus(uint8_t aStatus)
sTransmitBusy = false;
break;
case RAIL_TX_CONFIG_BUFFER_UNDERFLOW:
sTransmitError = OT_ERROR_ABORT;
sTransmitBusy = false;
break;
default:
break;
}
@@ -685,6 +683,8 @@ void RAILCb_RxPacketReceived(void *aRxPacketHandle)
// check the lenght validity of recv packet
otEXPECT(length >= IEEE802154_MIN_LENGTH && length <= IEEE802154_MAX_LENGTH);
otLogInfoPlat(sInstance, "Received data:%d", rxPacketInfo->dataLength);
memcpy(sReceiveFrame.mPsdu, rxPacketInfo->dataPtr + 1, rxPacketInfo->dataLength);
sReceiveFrame.mPower = rxPacketInfo->appendedInfo.rssiLatch;
sReceiveFrame.mLqi = rxPacketInfo->appendedInfo.lqi;
+3 -3
View File
@@ -51,7 +51,7 @@ libmbedcrypto_a_SOURCES = \
if OPENTHREAD_EXAMPLES_EFR32
nodist_libmbedcrypto_a_SOURCES = \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/util/third_party/mbedtls/sl_crypto/src/sl_aes.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/util/third_party/mbedtls/sl_crypto/src/sl_aes.c \
$(NULL)
else
libmbedcrypto_a_SOURCES += \
@@ -82,8 +82,8 @@ libmbedcrypto_a_SOURCES += \
if OPENTHREAD_EXAMPLES_EFR32
nodist_libmbedcrypto_a_SOURCES += \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/util/third_party/mbedtls/library/ecp.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.0/util/third_party/mbedtls/sl_crypto/src/sl_ecp.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/util/third_party/mbedtls/library/ecp.c \
@top_builddir@/third_party/silabs/gecko_sdk_suite/v1.1/util/third_party/mbedtls/sl_crypto/src/sl_ecp.c \
$(NULL)
else
libmbedcrypto_a_SOURCES += \