Closed lboue closed 1 year ago
I noticed that _third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2704A/autogen/sl_simple_buttoninstances.h file is missing.
$ cat third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2704A/autogen/sl_simple_button_instances.h
cat: third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2704A/autogen/sl_simple_button_instances.h: No such file or directory
BRD2704A directory is missing from SiliconLabs Silicon Labs Gecko SDK (GSDK) git repo: https://github.com/SiliconLabs/sdk_support/tree/main/matter/efr32/efr32mg24/BRD2704A
There is a reference to this file in AppTask.h
File is here for BRD2703A:
cat third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2703A/autogen/sl_simple_button_instances.h
/***************************************************************************//**
* @file
* @brief Simple Button Driver Instances
*******************************************************************************
* # License
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* The licensor of this software is Silicon Laboratories Inc. Your use of this
* software is governed by the terms of Silicon Labs Master Software License
* Agreement (MSLA) available at
* www.silabs.com/about-us/legal/master-software-license-agreement. This
* software is distributed to you in Source Code format and is governed by the
* sections of the MSLA applicable to Source Code.
*
******************************************************************************/
#ifndef SL_SIMPLE_BUTTON_INSTANCES_H
#define SL_SIMPLE_BUTTON_INSTANCES_H
#include "sl_simple_button.h"
extern const sl_button_t sl_button_btn0;
extern const sl_button_t sl_button_btn1;
extern const sl_button_t *sl_simple_button_array[];
#define SL_SIMPLE_BUTTON_COUNT 2
#define SL_SIMPLE_BUTTON_INSTANCE(n) (sl_simple_button_array[n])
void sl_simple_button_init_instances(void);
void sl_simple_button_poll_instances(void);
#endif // SL_SIMPLE_BUTTON_INSTANCES_H
cp -r third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2703A/ third_party/silabs/matter_support/matter/efr32/efr32mg24/BRD2704A
$ cd ~/matter/examples/lighting-app/silabs/efr32
user@SL-Matter:~/matter/examples/lighting-app/silabs/efr32$ ninja -C out/debug
ninja: Entering directory `out/debug'
[1/10] ld ./chip-efr32-lighting-example.out
FAILED: chip-efr32-lighting-example.out chip-efr32-lighting-example.out.map
arm-none-eabi-g++ -T../../third_party/connectedhomeip/examples/platform/silabs/efr32/ldscripts/mgm24.ld -march=armv8-m.main+dsp -mcpu=cortex-m33 -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Og --specs=nosys.specs --specs=nano.specs -Werror -Wl,--fatal-warnings -fdiagnostics-color -Wl,--gc-sections -Wl,-Map,./chip-efr32-lighting-example.out.map @./chip-efr32-lighting-example.out.rsp -o ./chip-efr32-lighting-example.out
/home/lboue/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld:../../third_party/connectedhomeip/third_party/silabs/gecko_sdk/protocol/openthread/libs/libsl_openthread_efr32mg2x_gcc.a: file format not recognized; treating as linker script
/home/lboue/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld:../../third_party/connectedhomeip/third_party/silabs/gecko_sdk/protocol/openthread/libs/libsl_openthread_efr32mg2x_gcc.a:1: syntax error
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Same issue for BRD4316A board
SILABS_BOARD=BRD4316A
user@SL-Matter:~/matter/examples/lighting-app/silabs/efr32$ export SILABS_BOARD=BRD4316A
user@SL-Matter:~/matter/examples/lighting-app/silabs/efr32$ gn gen out/debug
Done. Made 2826 targets from 255 files in 291ms
user@SL-Matter:~/matter/examples/lighting-app/silabs/efr32$ ninja -C out/debug
ninja: Entering directory `out/debug'
[856/863] ld ./chip-efr32-lighting-example.out
FAILED: chip-efr32-lighting-example.out chip-efr32-lighting-example.out.map
arm-none-eabi-g++ -T../../third_party/connectedhomeip/examples/platform/silabs/efr32/ldscripts/mgm24.ld -march=armv8-m.main+dsp -mcpu=cortex-m33 -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Og --specs=nosys.specs --specs=nano.specs -Werror -Wl,--fatal-warnings -fdiagnostics-color -Wl,--gc-sections -Wl,-Map,./chip-efr32-lighting-example.out.map @./chip-efr32-lighting-example.out.rsp -o ./chip-efr32-lighting-example.out
/home/user/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld:../../third_party/connectedhomeip/third_party/silabs/gecko_sdk/protocol/openthread/libs/libsl_openthread_efr32mg2x_gcc.a: file format not recognized; treating as linker script
/home/user/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld:../../third_party/connectedhomeip/third_party/silabs/gecko_sdk/protocol/openthread/libs/libsl_openthread_efr32mg2x_gcc.a:1: syntax error
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I'll take a look tomorrow and update you here. I should be able apply a quick fix if need be
@lboue I also wanted to point out 2 things. I see you are going to the example repo and using the gn gen and ninja commands directly. This is ok. But also leaves you open to some bad configurations if you swap boards and do not clean your out folder as the args.gni
created in the out for one board might not work for a different one. I believe the last of the issue you hit comes from that
I suggest using the build script. Here is an example
./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/efr32/ out/lighting_app BRD2704A
@lboue I also wanted to point out 2 things. I see you are going to the example repo and using the gn gen and ninja commands directly. This is ok. But also leaves you open to some bad configurations if you swap boards and do not clean your out folder as the
args.gni
created in the out for one board might not work for a different one. I believe the last of the issue you hit comes from thatI suggest using the build script. Here is an example
./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/efr32/ out/lighting_app BRD2704A
Thanks for the advice. I tried both methods at first.
Reproduction steps
Hello,
I am failing to build EFR32 light-switch-app for BRD2704A. I may need some help. I am getting this error:
fatal error: sl_simple_button_instances.h: No such file or directory
Reproduction steps
Do you have any idea where this error could be coming from?
Bug prevalence
always
GitHub hash of the SDK that was being used
3e9f43e76df3a058f343a9dbc6ce4135c41439d7
Platform
efr32
Platform Version(s)
No response
Anything else?
EFR32 switch.log