diff --git a/examples/persistent-storage/efr32/.gn b/examples/persistent-storage/efr32/.gn
deleted file mode 100644
index 81cec9d11a421b..00000000000000
--- a/examples/persistent-storage/efr32/.gn
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-
-# The location of the build configuration file.
-buildconfig = "${build_root}/config/BUILDCONFIG.gn"
-
-# CHIP uses angle bracket includes.
-check_system_includes = true
-
-default_args = {
- target_cpu = "arm"
- target_os = "freertos"
-
- import("//args.gni")
-}
diff --git a/examples/persistent-storage/efr32/BUILD.gn b/examples/persistent-storage/efr32/BUILD.gn
deleted file mode 100644
index f44fdb86872197..00000000000000
--- a/examples/persistent-storage/efr32/BUILD.gn
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-import("//build_overrides/chip.gni")
-import("//build_overrides/efr32_sdk.gni")
-import("//build_overrides/pigweed.gni")
-
-import("${build_root}/config/defaults.gni")
-
-import("${efr32_sdk_build_root}/efr32_executable.gni")
-import("${efr32_sdk_build_root}/efr32_sdk.gni")
-
-assert(current_os == "freertos")
-
-efr32_project_dir = "${chip_root}/examples/persistent-storage/efr32"
-examples_plat_dir = "${chip_root}/examples/platform/efr32"
-
-efr32_sdk("sdk") {
- sources = [
- "${efr32_project_dir}/include/CHIPProjectConfig.h",
- "${examples_plat_dir}/FreeRTOSConfig.h",
- ]
-
- include_dirs = [
- "${chip_root}/src/platform/EFR32",
- "${efr32_project_dir}/include",
- "${examples_plat_dir}",
- "${chip_root}/src/lib",
- ]
-
- defines = [ "BOARD_ID=${silabs_board}" ]
-}
-
-efr32_executable("persistent_storage") {
- output_name = "chip-efr32-persistent_storage-example.out"
-
- sources = [
- "${examples_plat_dir}/heap_4_silabs.c",
- "${examples_plat_dir}/init_efrPlatform.cpp",
- "../KeyValueStorageTest.cpp",
- "main.cpp",
- ]
-
- deps = [
- ":sdk",
- "${chip_root}/src/lib",
- ]
-
- include_dirs = [
- "..",
- "include",
- ]
-
- ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
-
- inputs = [ ldscript ]
-
- ldflags = [ "-T" + rebase_path(ldscript, root_build_dir) ]
-
- output_dir = root_out_dir
-}
-
-group("efr32") {
- deps = [ ":persistent_storage" ]
-}
-
-group("default") {
- deps = [ ":efr32" ]
-}
diff --git a/examples/persistent-storage/efr32/README.md b/examples/persistent-storage/efr32/README.md
deleted file mode 100644
index a2726d99094e85..00000000000000
--- a/examples/persistent-storage/efr32/README.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# CHIP EFR32 Persistent Storage Example
-
-An example testing and demonstrating the key value storage API.
-
-
-
-- [CHIP EFR32 Persistent Storage Example](#chip-efr32-persistent-storage-example)
- - [Introduction](#introduction)
- - [EFR32](#efr32)
- - [Building](#building)
- - [Flashing the Application](#flashing-the-application)
- - [Viewing Logging Output](#viewing-logging-output)
-
-
-
-## Introduction
-
-This example serves to both test the key value storage implementation and API as
-it is brought-up on different platforms, as well as provide an example for how
-to use the API.
-
-In the future this example can be moved into a unit test when available on all
-platforms.
-
-## EFR32
-
-The EFR32 platform KVS is fully implemented
-
-### Building
-
-- Download the
- [Simplicity Commander](https://www.silabs.com/mcu/programming-options)
- command line tool, and ensure that `commander` is your shell search path.
- (For Mac OS X, `commander` is located inside
- `Commander.app/Contents/MacOS/`.)
-
-- Download and install a suitable ARM gcc tool chain:
- [GNU Arm Embedded Toolchain 9-2019-q4-major](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
-
-- Install some additional tools(likely already present for CHIP developers):
-
-#Linux \$ sudo apt-get install git libwebkitgtk-1.0-0 ninja-build
-
-#Mac OS X \$ brew install ninja
-
-- Supported hardware:
-
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
- MG24 boards :
-
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
- 868MHz@19dBm
- - BRD4186A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4187A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
- - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
-* Build the example application:
-
- cd ~/connectedhomeip
- ./scripts/examples/gn_efr32_example.sh ./examples/persistent-storage/efr32/ ./out/persistent-storage BRD4161A
-
-- To delete generated executable, libraries and object files use:
-
- $ cd ~/connectedhomeip
- $ rm -rf ./out/persistent-storage
-
-OR use GN/Ninja directly
-
- $ cd ~/connectedhomeip/examples/persistent-storage/efr32
- $ git submodule update --init
- $ source third_party/connectedhomeip/scripts/activate.sh
- $ export EFR32_BOARD=BRD4161A
- $ gn gen out/debug --args="efr32_sdk_root=\"${EFR32_SDK_ROOT}\" silabs_board=\"${EFR32_BOARD}\""
- $ ninja -C out/debug
-
-- To delete generated executable, libraries and object files use:
-
- $ cd ~/connectedhomeip/examples/persistent-storage/efr32
- $ rm -rf out/
-
-### Flashing the Application
-
-- On the command line:
-
- $ cd ~/connectedhomeip/examples/persistent-storage/efr32
- $ python3 out/debug/chip-efr32-persistent_storage-example.flash.py
-
-- Or with the Ozone debugger, just load the .out file.
-
-### Viewing Logging Output
-
-The example application is built to use the SEGGER Real Time Transfer (RTT)
-facility for log output. RTT is a feature built-in to the J-Link Interface MCU
-on the WSTK development board. It allows bi-directional communication with an
-embedded application without the need for a dedicated UART.
-
-Using the RTT facility requires downloading and installing the _SEGGER J-Link
-Software and Documentation Pack_
-([web site](https://www.segger.com/downloads/jlink#J-LinkSoftwareAndDocumentationPack)).
-Alternatively the _SEGGER Ozone - J-Link Debugger_ can be used to view RTT logs.
-
-- Download the J-Link installer by navigating to the appropriate URL and
- agreeing to the license agreement.
-
-- [JLink_Linux_x86_64.deb](https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb)
-- [JLink_MacOSX.pkg](https://www.segger.com/downloads/jlink/JLink_MacOSX.pkg)
-
-* Install the J-Link software
-
- $ cd ~/Downloads
- $ sudo dpkg -i JLink_Linux_V*_x86_64.deb
-
-* In Linux, grant the logged in user the ability to talk to the development
- hardware via the linux tty device (/dev/ttyACMx) by adding them to the
- dialout group.
-
- $ sudo usermod -a -G dialout ${USER}
-
-Once the above is complete, log output can be viewed using the JLinkExe tool in
-combination with JLinkRTTClient as follows:
-
-- Run the JLinkExe tool with arguments to autoconnect to the WSTK board:
-
- For MG12 use:
-
- $ JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
-
- For MG21 use:
-
- $ JLinkExe -device EFR32MG21AXXXF1024 -if SWD -speed 4000 -autoconnect 1
-
-- In a second terminal, run the JLinkRTTClient to view logs:
-
- $ JLinkRTTClient
-
-## Memory settings
-
-While most of the RAM usage in CHIP is static, allowing easier debugging and
-optimization with symbols analysis, we still need some HEAP for the crypto and
-OpenThread. Size of the HEAP can be modified by changing the value of the
-`SL_STACK_SIZE` define inside of the BUILD.gn file of this example. Please take
-note that a HEAP size smaller than 5k can and will cause a Mbedtls failure
-during the BLE rendez-vous.
diff --git a/examples/persistent-storage/efr32/args.gni b/examples/persistent-storage/efr32/args.gni
deleted file mode 100644
index 45a6fed651fb8a..00000000000000
--- a/examples/persistent-storage/efr32/args.gni
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/chip.gni")
-import("${chip_root}/config/standalone/args.gni")
-import("${chip_root}/src/platform/EFR32/args.gni")
-
-efr32_sdk_target = get_label_info(":sdk", "label_no_toolchain")
diff --git a/examples/persistent-storage/efr32/build_overrides b/examples/persistent-storage/efr32/build_overrides
deleted file mode 120000
index 194ee0b812dc3d..00000000000000
--- a/examples/persistent-storage/efr32/build_overrides
+++ /dev/null
@@ -1 +0,0 @@
-../../build_overrides/
\ No newline at end of file
diff --git a/examples/persistent-storage/efr32/include/AppConfig.h b/examples/persistent-storage/efr32/include/AppConfig.h
deleted file mode 100644
index a6f11ca804fd78..00000000000000
--- a/examples/persistent-storage/efr32/include/AppConfig.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * Copyright (c) 2019 Google LLC.
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-// EFR Logging
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void silabsInitLog(void);
-
-void efr32Log(const char * aFormat, ...);
-#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/persistent-storage/efr32/include/CHIPProjectConfig.h b/examples/persistent-storage/efr32/include/CHIPProjectConfig.h
deleted file mode 100644
index 24733d37871d5b..00000000000000
--- a/examples/persistent-storage/efr32/include/CHIPProjectConfig.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * Copyright (c) 2019 Google LLC.
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * Example project configuration file for CHIP.
- *
- * This is a place to put application or project-specific overrides
- * to the default configuration values for general CHIP features.
- *
- */
-
-#pragma once
-
-// Use a default pairing code if one hasn't been provisioned in flash.
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
-
-// For convenience, Chip Security Test Mode can be enabled and the
-// requirement for authentication in various protocols can be disabled.
-//
-// WARNING: These options make it possible to circumvent basic Chip security functionality,
-// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
-//
-#define CHIP_CONFIG_SECURITY_TEST_MODE 0
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
- *
- * 0xFFF1: Test vendor.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
- *
- * 0x8009: example persistent-storage
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8009
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
- *
- * The hardware version number assigned to device or product by the device vendor. This
- * number is scoped to the device product id, and typically corresponds to a revision of the
- * physical device, a change to its packaging, and/or a change to its marketing presentation.
- * This value is generally *not* incremented for device software versions.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 1
-
-/**
- * CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
- *
- * Enable support for Chip-over-BLE (CHIPoBLE).
- */
-#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1
-
-/**
- * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
- *
- * Enables the use of a hard-coded default serial number if none
- * is found in Chip NV storage.
- */
-#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
-
-/**
- * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
- *
- * Enable recording UTC timestamps.
- */
-#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
-
-/**
- * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
- *
- * A size, in bytes, of the individual debug event logging buffer.
- */
-#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
diff --git a/examples/persistent-storage/efr32/include/FreeRTOSConfig.h b/examples/persistent-storage/efr32/include/FreeRTOSConfig.h
deleted file mode 100644
index 3cfcff06588010..00000000000000
--- a/examples/persistent-storage/efr32/include/FreeRTOSConfig.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/***************************************************************************
- * # License
- *
- * 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 Third Party Software licensed by Silicon Labs from a third party
- * and is governed by the sections of the MSLA applicable to Third Party
- * Software and the additional terms set forth below.
- *
- ******************************************************************************/
-/*
- FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
- All rights reserved
-
- VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
-
- This file is part of the FreeRTOS distribution.
-
- FreeRTOS is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License (version 2) as published by the
- Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
-
- ***************************************************************************
- >>! NOTE: The modification to the GPL is included to allow you to !<<
- >>! distribute a combined work that includes FreeRTOS without being !<<
- >>! obliged to provide the source code for proprietary components !<<
- >>! outside of the FreeRTOS kernel. !<<
- ***************************************************************************
-
- FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. Full license text is available on the following
- link: http://www.freertos.org/a00114.html
-
- ***************************************************************************
- * *
- * FreeRTOS provides completely free yet professionally developed, *
- * robust, strictly quality controlled, supported, and cross *
- * platform software that is more than just the market leader, it *
- * is the industry's de facto standard. *
- * *
- * Help yourself get started quickly while simultaneously helping *
- * to support the FreeRTOS project by purchasing a FreeRTOS *
- * tutorial book, reference manual, or both: *
- * http://www.FreeRTOS.org/Documentation *
- * *
- ***************************************************************************
-
- http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
- the FAQ page "My application does not run, what could be wrong?". Have you
- defined configASSERT()?
-
- http://www.FreeRTOS.org/support - In return for receiving this top quality
- embedded software for free we request you assist our global community by
- participating in the support forum.
-
- http://www.FreeRTOS.org/training - Investing in training allows your team to
- be as productive as possible as early as possible. Now you can receive
- FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
- Ltd, and the world's leading authority on the world's leading RTOS.
-
- http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
- including FreeRTOS+Trace - an indispensable productivity tool, a DOS
- compatible FAT file system, and our tiny thread aware UDP/IP stack.
-
- http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
- Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
-
- http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
- Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
- licenses offer ticketed support, indemnification and commercial middleware.
-
- http://www.SafeRTOS.com - High Integrity Systems also provide a safety
- engineered and independently SIL3 certified version for use in safety and
- mission critical applications that require provable dependability.
-
- 1 tab == 4 spaces!
-*/
-
-#pragma once
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include
-
-#include "RTE_Components.h"
-#include CMSIS_device_header
-
-#include "em_assert.h"
-#include "em_device.h"
-
-#if defined(SL_COMPONENT_CATALOG_PRESENT)
-#include "sl_component_catalog.h"
-#endif
-
-/*-----------------------------------------------------------
- * Application specific definitions.
- *
- * These definitions should be adjusted for your particular hardware and
- * application requirements.
- *
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
- *
- * See http://www.freertos.org/a00110.html.
- *----------------------------------------------------------*/
-
-/* Set configCREATE_LOW_POWER_DEMO as follows:
- *
- * 0: Build the full test and demo application.
- * 1: Build the simple blinky tickless low power demo, generating the tick
- * interrupt from the RTCC. EM2 will be entered. The LXFO clock is used.
- * See the comments at the top of main.c, main_full.c and main_low_power.c for
- * more information.
- */
-
-#define configCREATE_LOW_POWER_DEMO (0)
-
-/* Some configuration is dependent on the demo being built. */
-#if (configCREATE_LOW_POWER_DEMO == 0)
-
-/* Tickless mode is not used. */
-
-/* Some of the standard demo test tasks assume a tick rate of 1KHz, even
-though that is faster than would normally be warranted by a real
-application. */
-#define configTICK_RATE_HZ (1000)
-
-/* Energy saving modes. */
-#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
-#define configUSE_TICKLESS_IDLE 1
-#else
-#define configUSE_TICKLESS_IDLE 0
-#endif
-
-/* Definition used by Keil to replace default system clock source. */
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (1)
-#define configCHECK_FOR_STACK_OVERFLOW (2)
-#define configUSE_MALLOC_FAILED_HOOK (1)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM1)
-
-#else
-
-/* Tickless idle mode, generating RTOS tick interrupts from the RTC, fed
-by the LXFO clock. */
-
-/* The slow clock used to generate the tick interrupt in the low power demo
-runs at 32768/8=4096Hz. Ensure the tick rate is a multiple of the clock. */
-#define configTICK_RATE_HZ (128)
-
-/* The low power demo uses the tickless idle feature. */
-#define configUSE_TICKLESS_IDLE (1)
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION (1)
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (0)
-#define configCHECK_FOR_STACK_OVERFLOW (0)
-#define configUSE_MALLOC_FAILED_HOOK (0)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM3)
-#endif
-
-/* Main functions*/
-/* Run time stats gathering related definitions. */
-#define configGENERATE_RUN_TIME_STATS (0)
-
-/* Co-routine related definitions. */
-#define configUSE_CO_ROUTINES (0)
-#define configMAX_CO_ROUTINE_PRIORITIES (1)
-
-/* Software timer related definitions. */
-#define configUSE_TIMERS (1)
-#define configTIMER_TASK_PRIORITY (40) /* Highest priority */
-#define configTIMER_QUEUE_LENGTH (10)
-#define configTIMER_TASK_STACK_DEPTH (1024)
-
-/* Interrupt priorities used by the kernel port layer itself. These are generic
-to all Cortex-M ports, and do not rely on any particular library functions. */
-#define configKERNEL_INTERRUPT_PRIORITY (255)
-/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
-See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
-#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 // 96
-#define configENABLE_FPU 0
-#define configENABLE_MPU 0
-/* FreeRTOS Secure Side Only and TrustZone Security Extension */
-#define configRUN_FREERTOS_SECURE_ONLY 1
-#define configENABLE_TRUSTZONE 0
-/* FreeRTOS MPU specific definitions. */
-#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS (0)
-
-#define configCPU_CLOCK_HZ (SystemCoreClock)
-#define configUSE_PREEMPTION (1)
-#define configUSE_TIME_SLICING (1)
-#define configUSE_PORT_OPTIMISED_TASK_SELECTION (0)
-#define configUSE_TICKLESS_IDLE_SIMPLE_DEBUG (1) /* See into vPortSuppressTicksAndSleep source code for explanation */
-#define configMAX_PRIORITIES (56)
-#define configMINIMAL_STACK_SIZE (320) /* Number of words to use for Idle and Timer stacks */
-#define configMAX_TASK_NAME_LEN (10)
-#define configUSE_16_BIT_TICKS (0)
-#define configIDLE_SHOULD_YIELD (1)
-#define configUSE_MUTEXES (1)
-#define configUSE_RECURSIVE_MUTEXES (1)
-#define configUSE_COUNTING_SEMAPHORES (1)
-#define configUSE_TASK_NOTIFICATIONS 1
-#define configUSE_TRACE_FACILITY 1
-#define configQUEUE_REGISTRY_SIZE (10)
-#define configUSE_QUEUE_SETS (0)
-#define configUSE_NEWLIB_REENTRANT (0)
-#define configENABLE_BACKWARD_COMPATIBILITY (1)
-#define configSUPPORT_STATIC_ALLOCATION (1)
-#define configSUPPORT_DYNAMIC_ALLOCATION (1)
-#define configTOTAL_HEAP_SIZE ((size_t)(16 * 1024))
-
-/* Optional functions - most linkers will remove unused functions anyway. */
-#define INCLUDE_vTaskPrioritySet (1)
-#define INCLUDE_uxTaskPriorityGet (1)
-#define INCLUDE_vTaskDelete (1)
-#define INCLUDE_vTaskSuspend (1)
-#define INCLUDE_xResumeFromISR (1)
-#define INCLUDE_vTaskDelayUntil (1)
-#define INCLUDE_vTaskDelay (1)
-#define INCLUDE_xTaskGetSchedulerState (1)
-#define INCLUDE_xTaskGetCurrentTaskHandle (1)
-#define INCLUDE_uxTaskGetStackHighWaterMark (1)
-#define INCLUDE_xTaskGetIdleTaskHandle (1)
-#define INCLUDE_xTimerGetTimerDaemonTaskHandle (1)
-#define INCLUDE_pcTaskGetTaskName (1)
-#define INCLUDE_eTaskGetState (1)
-#define INCLUDE_xEventGroupSetBitFromISR (1)
-#define INCLUDE_xEventGroupSetBitsFromISR (1)
-#define INCLUDE_xSemaphoreGetMutexHolder (1)
-#define INCLUDE_xTimerPendFunctionCall (1)
-#define INCLUDE_xTaskGetHandle (1)
-
-/* Stop if an assertion fails. */
-#define configASSERT(x) \
- if ((x) == 0) \
- { \
- taskDISABLE_INTERRUPTS(); \
- printf("\nFREERTOS ASSERT ( %s )\n", #x); \
- for (;;) \
- ; \
- }
-#define configASSERTNULL(x) \
- if ((x) == NULL) \
- { \
- taskDISABLE_INTERRUPTS(); \
- for (;;) \
- ; \
- }
-
-/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
-standard names. */
-#define vPortSVCHandler SVC_Handler
-#define xPortPendSVHandler PendSV_Handler
-/* Ensure Cortex-M port compatibility. */
-#define SysTick_Handler xPortSysTickHandler
-
-/* Thread local storage pointers used by the SDK */
-#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS
-#define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0
-#endif
-
-#if defined(__GNUC__)
-/* For the linker. */
-#define fabs __builtin_fabs
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/persistent-storage/efr32/main.cpp b/examples/persistent-storage/efr32/main.cpp
deleted file mode 100644
index 408ca379320f03..00000000000000
--- a/examples/persistent-storage/efr32/main.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include
-#include
-#include
-
-#include
-#include
-#include
-
-#include
-#include
-
-#include "AppConfig.h"
-#include "KeyValueStorageTest.h"
-#include "init_efrPlatform.h"
-#include "sl_system_kernel.h"
-#include
-#include
-#include
-
-static TaskHandle_t sTestTaskHandle;
-void TestTask(void * pvParameter)
-{
- while (true)
- {
- SILABS_LOG("Running Tests:");
- chip::RunKvsTest();
- vTaskDelay(60000); // Run every minute
- }
-}
-
-int main(void)
-{
- init_efrPlatform();
-
- chip::DeviceLayer::PersistedStorage::KeyValueStoreMgrImpl().Init();
- SILABS_LOG("==================================================");
- SILABS_LOG("chip-efr32-persitent-storage-example starting");
- SILABS_LOG("==================================================");
-
- // Run tests
- xTaskCreate(TestTask, "Test", 2048, NULL, 1, &sTestTaskHandle);
- SILABS_LOG("Starting FreeRTOS scheduler");
- sl_system_kernel_start();
-
- // Should never get here.
- SILABS_LOG("vTaskStartScheduler() failed");
- return -1;
-}
diff --git a/examples/persistent-storage/efr32/third_party/connectedhomeip b/examples/persistent-storage/efr32/third_party/connectedhomeip
deleted file mode 120000
index c866b86874994d..00000000000000
--- a/examples/persistent-storage/efr32/third_party/connectedhomeip
+++ /dev/null
@@ -1 +0,0 @@
-../../../..
\ No newline at end of file
diff --git a/examples/persistent-storage/efr32/with_pw_rpc.gni b/examples/persistent-storage/efr32/with_pw_rpc.gni
deleted file mode 100644
index a64475b97e246e..00000000000000
--- a/examples/persistent-storage/efr32/with_pw_rpc.gni
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# add this gni as import in your build args to use pigweed in the example
-# 'import("//with_pw_rpc.gni")'
-# *WIP* pigweed is not fully integrated in this EFR example yet
-
-import("//build_overrides/chip.gni")
-import("${chip_root}/config/efr32/lib/pw_rpc/pw_rpc.gni")
-import("${chip_root}/src/platform/EFR32/args.gni")
-
-efr32_sdk_target = get_label_info(":sdk", "label_no_toolchain")
-
-cpp_standard = "gnu++17"
diff --git a/examples/pigweed-app/efr32/.gn b/examples/pigweed-app/efr32/.gn
deleted file mode 100644
index 81cec9d11a421b..00000000000000
--- a/examples/pigweed-app/efr32/.gn
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-
-# The location of the build configuration file.
-buildconfig = "${build_root}/config/BUILDCONFIG.gn"
-
-# CHIP uses angle bracket includes.
-check_system_includes = true
-
-default_args = {
- target_cpu = "arm"
- target_os = "freertos"
-
- import("//args.gni")
-}
diff --git a/examples/pigweed-app/efr32/BUILD.gn b/examples/pigweed-app/efr32/BUILD.gn
deleted file mode 100644
index 5bbdfc0e0fd313..00000000000000
--- a/examples/pigweed-app/efr32/BUILD.gn
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-import("//build_overrides/chip.gni")
-import("//build_overrides/efr32_sdk.gni")
-import("//build_overrides/pigweed.gni")
-
-import("${build_root}/config/defaults.gni")
-import("${chip_root}/config/efr32/lib/pw_rpc/pw_rpc.gni")
-import("${efr32_sdk_build_root}/efr32_executable.gni")
-import("${efr32_sdk_build_root}/efr32_sdk.gni")
-
-assert(current_os == "freertos")
-
-efr32_project_dir = "${chip_root}/examples/pigweed-app/efr32"
-examples_plat_dir = "${chip_root}/examples/platform/efr32"
-
-efr32_sdk("sdk") {
- sources = [
- "${efr32_project_dir}/include/CHIPProjectConfig.h",
- "${examples_plat_dir}/FreeRTOSConfig.h",
- ]
-
- include_dirs = [
- "${chip_root}/src/platform/EFR32",
- "${efr32_project_dir}/include",
- "${examples_plat_dir}",
- ]
-
- defines = [
- "BOARD_ID=${silabs_board}",
- "HAL_VCOM_ENABLE=1",
- "SILABS_LOG_ENABLED=1",
- "PW_RPC_ENABLED",
- ]
-}
-
-efr32_executable("pigweed_app") {
- output_name = "chip-efr32-pigweed-example.out"
-
- sources = [
- "${chip_root}/examples/common/pigweed/RpcService.cpp",
- "${chip_root}/examples/common/pigweed/efr32/PigweedLoggerMutex.cpp",
- "${examples_plat_dir}/PigweedLogger.cpp",
- "${examples_plat_dir}/heap_4_silabs.c",
- "${examples_plat_dir}/init_efrPlatform.cpp",
- "${examples_plat_dir}/uart.cpp",
- "src/main.cpp",
- ]
-
- if (use_wstk_leds) {
- sources += [ "${examples_plat_dir}/LEDWidget.cpp" ]
- }
-
- deps = [
- ":sdk",
- "$dir_pw_assert",
- "$dir_pw_checksum",
- "${chip_root}/config/efr32/lib/pw_rpc:pw_rpc",
- "${chip_root}/examples/common/pigweed:system_rpc_server",
- "${chip_root}/src/lib",
- "${examples_plat_dir}/pw_sys_io:pw_sys_io_efr32",
- ]
-
- include_dirs = [ "${chip_root}/examples/common/pigweed/efr32" ]
-
- ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
-
- inputs = [ ldscript ]
-
- ldflags = [ "-T" + rebase_path(ldscript, root_build_dir) ]
-
- output_dir = root_out_dir
-}
-
-group("efr32") {
- deps = [ ":pigweed_app" ]
-}
-
-group("default") {
- deps = [ ":efr32" ]
-}
diff --git a/examples/pigweed-app/efr32/README.md b/examples/pigweed-app/efr32/README.md
deleted file mode 100644
index b016a0b06550ae..00000000000000
--- a/examples/pigweed-app/efr32/README.md
+++ /dev/null
@@ -1,148 +0,0 @@
-# CHIP EFR32 Pigweed Example Application
-
-The EFR32 example demonstrates the usage of Pigweed module functionalities in an
-application.
-
-The example is based on [CHIP](https://github.com/project-chip/connectedhomeip),
-the [Pigweed](https://pigweed.googlesource.com/pigweed/pigweed) module, which is
-a collection of libraries that provide different functionalities for embedded
-systems, and the EFR32 platform.
-
-You can use this example as a training ground for making experiments, testing
-Pigweed module features and checking what actions are necessary to fully
-integrate Pigweed in a CHIP project.
-
-Pigweed functionalities are being gradually integrated into CHIP. Currently, the
-following features are available:
-
-- **Echo RPC** - Creates a Remote Procedure Call server and allows sending
- commands through the serial port to the device, which makes echo and sends
- the received commands back.
-
----
-
-- [CHIP EFR32 Pigweed Example Application](#chip-efr32-pigweed-example-application)
- - [Building the Example Application](#building-the-example-application)
- - [Flashing the Application](#flashing-the-application)
- - [Testing the Example Application](#testing-the-example-application)
-
----
-
-## Building the Example Application
-
-- Download or clone the
- [sdk_support](https://github.com/SiliconLabs/sdk_support) from GitHub
-
- git clone https://github.com/SiliconLabs/sdk_support.git
-
-
- and export the path with :
-
- export EFR32_SDK_ROOT=
-
-- Download the
- [Simplicity Commander](https://www.silabs.com/mcu/programming-options)
- command line tool, and ensure that `commander` is your shell search path.
- (For Mac OS X, `commander` is located inside
- `Commander.app/Contents/MacOS/`.)
-
- export PATH=/Applications/Commander.app/Contents/MacOS:$PATH
-
-- Download and install a suitable ARM gcc tool chain:
- [GNU Arm Embedded Toolchain 9-2019-q4-major](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
-
-- Install some additional tools(likely already present for CHIP developers):
-
- - Linux
-
- sudo apt-get install git libwebkitgtk-1.0-0 ninja-build
-
- - Mac OS X
-
- brew install ninja
-
-- Supported hardware:
-
- MG12 boards:
-
- - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4163A / SLWSTK6000B / Dual band Wireless Starter Kit / 2.4GHz@19dBm,
- 868MHz@19dBm
- - BRD4164A / SLWSTK6000B / Dual band Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
- 915MHz@19dBm
- - BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
-
- MG21 boards: Currently not supported due to RAM limitation.
-
- - BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
- MG24 boards :
-
- - BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD2703A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4186A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- - BRD4187A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
- - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
-
-* Build the example application:
-
- cd ~/connectedhomeip/examples/pigweed-app/efr32
- git submodule update --init
- source third_party/connectedhomeip/scripts/activate.sh
- export EFR32_BOARD=BRD4161A
- gn gen out/debug
- ninja -C out/debug
-
-- To delete generated executable, libraries and object files use:
-
- cd ~/connectedhomeip/examples/pigweed-app/efr32
- rm -rf out/
-
-### Flashing the Application
-
-- On the command line:
-
- cd ~/connectedhomeip/examples/pigweed-app/efr32
- python3 out/debug/chip-efr32-pigweed-example.flash.py
-
-- With the Commander app, just load the .s37 file.
-- Or with the Ozone debugger, just load the .out file.
-
-## Testing the Example Application
-
-- Determine the serial port name for the EFR device by checking /dev: ls
- /dev/tty\*
-
- It should look like this :
- - On Linux
- /dev/ttyACM0
- - On MAC
- /dev/tty.usbmodem0004401548451
-
-- Run the following command to start an interactive Python shell, where the
- Echo RPC commands can be invoked:
-
- python -m pw_hdlc.rpc_console --device /dev/tty.usbmodem0004401548451 -b 115200 /third_party/pigweed/repo/pw_rpc/pw_rpc_protos/echo.proto -o /tmp/pw_rpc.out
-
-- To send an Echo RPC message, type the following command, where the actual
- message is the text in quotation marks after the `msg=` phrase:
-
- rpcs.pw.rpc.EchoService.Echo(msg="hi")
-
- Note: Some users might have to install the
- [VCP driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
- before the device shows up on `/dev/tty`.
-
-## Memory settings
-
-While most of the RAM usage in CHIP is static, allowing easier debugging and
-optimization with symbols analysis, we still need some HEAP for the crypto and
-OpenThread. Size of the HEAP can be modified by changing the value of the
-`SL_STACK_SIZE` define inside of the BUILD.gn file of this example. Please take
-note that a HEAP size smaller than 5k can and will cause a Mbedtls failure
-during the BLE rendez-vous.
diff --git a/examples/pigweed-app/efr32/args.gni b/examples/pigweed-app/efr32/args.gni
deleted file mode 100644
index b42ad9267d0134..00000000000000
--- a/examples/pigweed-app/efr32/args.gni
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2021 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/chip.gni")
-import("${chip_root}/config/efr32/lib/pw_rpc/pw_rpc.gni")
-import("${chip_root}/config/standalone/args.gni")
-import("${chip_root}/src/platform/EFR32/args.gni")
-
-efr32_sdk_target = get_label_info(":sdk", "label_no_toolchain")
-
-cpp_standard = "gnu++17"
-pw_rpc_CONFIG = "$dir_pw_rpc:disable_global_mutex"
diff --git a/examples/pigweed-app/efr32/build_overrides b/examples/pigweed-app/efr32/build_overrides
deleted file mode 120000
index 194ee0b812dc3d..00000000000000
--- a/examples/pigweed-app/efr32/build_overrides
+++ /dev/null
@@ -1 +0,0 @@
-../../build_overrides/
\ No newline at end of file
diff --git a/examples/pigweed-app/efr32/include/AppConfig.h b/examples/pigweed-app/efr32/include/AppConfig.h
deleted file mode 100644
index 95955e5bb09f08..00000000000000
--- a/examples/pigweed-app/efr32/include/AppConfig.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-// ---- PW Example App Config ----
-
-// EFR32 WSTK Buttons
-#define PB0 0
-#define PB1 1
-
-// EFR32 WSTK LEDs
-#define BSP_LED_0 0
-#define BSP_LED_1 1
-
-#define APP_BUTTON_DEBOUNCE_PERIOD_MS 50
-#define APP_BUTTON_PRESSED 0
-#define APP_BUTTON_RELEASED 1
-
-#define SYSTEM_STATE_LED BSP_LED_0
-
-// EFR Logging
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void silabsInitLog(void);
-void efr32Log(const char * aFormat, ...);
-#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
-void appError(int err);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/pigweed-app/efr32/include/CHIPProjectConfig.h b/examples/pigweed-app/efr32/include/CHIPProjectConfig.h
deleted file mode 100644
index 6af96beac88f4a..00000000000000
--- a/examples/pigweed-app/efr32/include/CHIPProjectConfig.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * Example project configuration file for CHIP.
- *
- * This is a place to put application or project-specific overrides
- * to the default configuration values for general CHIP features.
- *
- */
-
-#pragma once
-
-// Use a default pairing code if one hasn't been provisioned in flash.
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
-
-// For convenience, Chip Security Test Mode can be enabled and the
-// requirement for authentication in various protocols can be disabled.
-//
-// WARNING: These options make it possible to circumvent basic Chip security functionality,
-// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
-//
-#define CHIP_CONFIG_SECURITY_TEST_MODE 0
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
- *
- * 0xFFF1: Test vendor.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
- *
- * 0x8009: example pigweed-app
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x800B
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
- *
- * The hardware version number assigned to device or product by the device vendor. This
- * number is scoped to the device product id, and typically corresponds to a revision of the
- * physical device, a change to its packaging, and/or a change to its marketing presentation.
- * This value is generally *not* incremented for device software versions.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 1
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
- *
- * A uint32_t identifying the software version running on the device.
- */
-/* The SoftwareVersion attribute of the Basic cluster. */
-#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
-#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION 0x0001
-#endif
-
-/**
- * CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
- *
- * Enable support for Chip-over-BLE (CHIPoBLE).
- */
-#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1
-
-/**
- * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER
- *
- * Enables the use of a hard-coded default serial number if none
- * is found in Chip NV storage.
- */
-#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN"
-
-/**
- * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
- *
- * Enable recording UTC timestamps.
- */
-#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
-
-/**
- * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
- *
- * A size, in bytes, of the individual debug event logging buffer.
- */
-#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
-
-/**
- * CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL
- *
- * The interval (in units of 0.625ms) at which the device will send BLE advertisements while
- * in fast advertising mode.
- *
- * 40 (25ms).
- */
-#define CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL 40
-
-/**
- * CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL
- *
- * The interval (in units of 0.625ms) at which the device will send BLE advertisements while
- * in slow advertisement mode.
- *
- * 800 (500ms).
- */
-#define CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL 800
-
-/**
- * CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT
- *
- * The amount of time in miliseconds after which BLE should change his advertisements
- * from fast interval to slow interval.
- *
- * 30000 (30 secondes).
- */
-#define CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT (30 * 1000)
diff --git a/examples/pigweed-app/efr32/include/FreeRTOSConfig.h b/examples/pigweed-app/efr32/include/FreeRTOSConfig.h
deleted file mode 100644
index 6fc0a22c04a459..00000000000000
--- a/examples/pigweed-app/efr32/include/FreeRTOSConfig.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/***************************************************************************
- * # License
- *
- * 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 Third Party Software licensed by Silicon Labs from a third party
- * and is governed by the sections of the MSLA applicable to Third Party
- * Software and the additional terms set forth below.
- *
- ******************************************************************************/
-/*
- FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
- All rights reserved
-
- VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
-
- This file is part of the FreeRTOS distribution.
-
- FreeRTOS is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License (version 2) as published by the
- Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
-
- ***************************************************************************
- >>! NOTE: The modification to the GPL is included to allow you to !<<
- >>! distribute a combined work that includes FreeRTOS without being !<<
- >>! obliged to provide the source code for proprietary components !<<
- >>! outside of the FreeRTOS kernel. !<<
- ***************************************************************************
-
- FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. Full license text is available on the following
- link: http://www.freertos.org/a00114.html
-
- ***************************************************************************
- * *
- * FreeRTOS provides completely free yet professionally developed, *
- * robust, strictly quality controlled, supported, and cross *
- * platform software that is more than just the market leader, it *
- * is the industry's de facto standard. *
- * *
- * Help yourself get started quickly while simultaneously helping *
- * to support the FreeRTOS project by purchasing a FreeRTOS *
- * tutorial book, reference manual, or both: *
- * http://www.FreeRTOS.org/Documentation *
- * *
- ***************************************************************************
-
- http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
- the FAQ page "My application does not run, what could be wrong?". Have you
- defined configASSERT()?
-
- http://www.FreeRTOS.org/support - In return for receiving this top quality
- embedded software for free we request you assist our global community by
- participating in the support forum.
-
- http://www.FreeRTOS.org/training - Investing in training allows your team to
- be as productive as possible as early as possible. Now you can receive
- FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
- Ltd, and the world's leading authority on the world's leading RTOS.
-
- http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
- including FreeRTOS+Trace - an indispensable productivity tool, a DOS
- compatible FAT file system, and our tiny thread aware UDP/IP stack.
-
- http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
- Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
-
- http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
- Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
- licenses offer ticketed support, indemnification and commercial middleware.
-
- http://www.SafeRTOS.com - High Integrity Systems also provide a safety
- engineered and independently SIL3 certified version for use in safety and
- mission critical applications that require provable dependability.
-
- 1 tab == 4 spaces!
-*/
-
-#pragma once
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include
-
-#include "RTE_Components.h"
-#include CMSIS_device_header
-
-#include "em_assert.h"
-#include "em_device.h"
-
-#if defined(SL_COMPONENT_CATALOG_PRESENT)
-#include "sl_component_catalog.h"
-#endif
-
-/*-----------------------------------------------------------
- * Application specific definitions.
- *
- * These definitions should be adjusted for your particular hardware and
- * application requirements.
- *
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
- *
- * See http://www.freertos.org/a00110.html.
- *----------------------------------------------------------*/
-
-/* Set configCREATE_LOW_POWER_DEMO as follows:
- *
- * 0: Build the full test and demo application.
- * 1: Build the simple blinky tickless low power demo, generating the tick
- * interrupt from the RTCC. EM2 will be entered. The LXFO clock is used.
- * See the comments at the top of main.c, main_full.c and main_low_power.c for
- * more information.
- */
-
-#define configCREATE_LOW_POWER_DEMO (0)
-
-/* Some configuration is dependent on the demo being built. */
-#if (configCREATE_LOW_POWER_DEMO == 0)
-
-/* Tickless mode is not used. */
-
-/* Some of the standard demo test tasks assume a tick rate of 1KHz, even
-though that is faster than would normally be warranted by a real
-application. */
-#define configTICK_RATE_HZ (1000)
-
-/* Energy saving modes. */
-#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
-#define configUSE_TICKLESS_IDLE 1
-#else
-#define configUSE_TICKLESS_IDLE 0
-#endif
-
-/* Definition used by Keil to replace default system clock source. */
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (1)
-#define configCHECK_FOR_STACK_OVERFLOW (2)
-#define configUSE_MALLOC_FAILED_HOOK (1)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM1)
-
-#else
-
-/* Tickless idle mode, generating RTOS tick interrupts from the RTC, fed
-by the LXFO clock. */
-
-/* The slow clock used to generate the tick interrupt in the low power demo
-runs at 32768/8=4096Hz. Ensure the tick rate is a multiple of the clock. */
-#define configTICK_RATE_HZ (128)
-
-/* The low power demo uses the tickless idle feature. */
-#define configUSE_TICKLESS_IDLE (1)
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION (1)
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (0)
-#define configCHECK_FOR_STACK_OVERFLOW (0)
-#define configUSE_MALLOC_FAILED_HOOK (0)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM3)
-#endif
-
-/* Main functions*/
-/* Run time stats gathering related definitions. */
-#define configGENERATE_RUN_TIME_STATS (0)
-
-/* Co-routine related definitions. */
-#define configUSE_CO_ROUTINES (0)
-#define configMAX_CO_ROUTINE_PRIORITIES (1)
-
-/* Software timer related definitions. */
-#define configUSE_TIMERS (1)
-#define configTIMER_TASK_PRIORITY (40) /* Highest priority */
-#define configTIMER_QUEUE_LENGTH (10)
-#define configTIMER_TASK_STACK_DEPTH (1024)
-
-/* Interrupt priorities used by the kernel port layer itself. These are generic
-to all Cortex-M ports, and do not rely on any particular library functions. */
-#define configKERNEL_INTERRUPT_PRIORITY (255)
-/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
-See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
-#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 // 96
-#define configENABLE_FPU 0
-#define configENABLE_MPU 0
-/* FreeRTOS Secure Side Only and TrustZone Security Extension */
-#define configRUN_FREERTOS_SECURE_ONLY 1
-#define configENABLE_TRUSTZONE 0
-/* FreeRTOS MPU specific definitions. */
-#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS (0)
-
-#define configCPU_CLOCK_HZ (SystemCoreClock)
-#define configUSE_PREEMPTION (1)
-#define configUSE_TIME_SLICING (1)
-#define configUSE_PORT_OPTIMISED_TASK_SELECTION (0)
-#define configUSE_TICKLESS_IDLE_SIMPLE_DEBUG (1) /* See into vPortSuppressTicksAndSleep source code for explanation */
-#define configMAX_PRIORITIES (56)
-#define configMINIMAL_STACK_SIZE (320) /* Number of words to use for Idle and Timer stacks */
-#define configMAX_TASK_NAME_LEN (10)
-#define configUSE_16_BIT_TICKS (0)
-#define configIDLE_SHOULD_YIELD (1)
-#define configUSE_MUTEXES (1)
-#define configUSE_RECURSIVE_MUTEXES (1)
-#define configUSE_COUNTING_SEMAPHORES (1)
-#define configUSE_TASK_NOTIFICATIONS 1
-#define configUSE_TRACE_FACILITY 1
-#define configQUEUE_REGISTRY_SIZE (10)
-#define configUSE_QUEUE_SETS (0)
-#define configUSE_NEWLIB_REENTRANT (0)
-#define configENABLE_BACKWARD_COMPATIBILITY (1)
-#define configSUPPORT_STATIC_ALLOCATION (1)
-#define configSUPPORT_DYNAMIC_ALLOCATION (1)
-#define configTOTAL_HEAP_SIZE ((size_t)(16 * 1024))
-
-/* Optional functions - most linkers will remove unused functions anyway. */
-#define INCLUDE_vTaskPrioritySet (1)
-#define INCLUDE_uxTaskPriorityGet (1)
-#define INCLUDE_vTaskDelete (1)
-#define INCLUDE_vTaskSuspend (1)
-#define INCLUDE_xResumeFromISR (1)
-#define INCLUDE_vTaskDelayUntil (1)
-#define INCLUDE_vTaskDelay (1)
-#define INCLUDE_xTaskGetSchedulerState (1)
-#define INCLUDE_xTaskGetCurrentTaskHandle (1)
-#define INCLUDE_uxTaskGetStackHighWaterMark (1)
-#define INCLUDE_xTaskGetIdleTaskHandle (1)
-#define INCLUDE_xTimerGetTimerDaemonTaskHandle (1)
-#define INCLUDE_pcTaskGetTaskName (1)
-#define INCLUDE_eTaskGetState (1)
-#define INCLUDE_xEventGroupSetBitFromISR (1)
-#define INCLUDE_xEventGroupSetBitsFromISR (1)
-#define INCLUDE_xSemaphoreGetMutexHolder (1)
-#define INCLUDE_xTimerPendFunctionCall (1)
-#define INCLUDE_xTaskGetHandle (1)
-
-/* Stop if an assertion fails. */
-#define configASSERT(x) \
- if ((x) == 0) \
- { \
- taskDISABLE_INTERRUPTS(); \
- printf("\nFREERTOS ASSERT ( %s )\n", #x); \
- for (;;) \
- ; \
- }
-#define configASSERTNULL(x) \
- if ((x) == NULL) \
- { \
- taskDISABLE_INTERRUPTS(); \
- for (;;) \
- ; \
- }
-
-/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
-standard names. */
-#define vPortSVCHandler SVC_Handler
-#define xPortPendSVHandler PendSV_Handler
-/* Ensure Cortex-M port compatibility. */
-#define SysTick_Handler xPortSysTickHandler
-
-/* Thread local storage pointers used by the SDK */
-#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS
-#define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0
-#endif
-
-#if defined(__GNUC__)
-/* For the linker. */
-#define fabs __builtin_fabs
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/pigweed-app/efr32/src/main.cpp b/examples/pigweed-app/efr32/src/main.cpp
deleted file mode 100644
index ff53016b40d887..00000000000000
--- a/examples/pigweed-app/efr32/src/main.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "AppConfig.h"
-#include "init_efrPlatform.h"
-#include "sl_system_kernel.h"
-
-#ifdef ENABLE_WSTK_LEDS
-#include "LEDWidget.h"
-#include "sl_simple_led_instances.h"
-#endif // ENABLE_WSTK_LEDS
-
-#include "pw_rpc/echo_service_nanopb.h"
-#include "pw_sys_io/sys_io.h"
-#include "pw_sys_io_efr32/init.h"
-#include "uart.h"
-
-#include "PigweedLoggerMutex.h"
-#include "pigweed/RpcService.h"
-#include
-#include
-
-static LEDWidget sStatusLED;
-
-namespace {
-using std::byte;
-
-#define RPC_TASK_STACK_SIZE 4096
-#define RPC_TASK_PRIORITY 2
-static TaskHandle_t sRpcTaskHandle;
-
-pw::rpc::EchoService echo_service;
-
-void RegisterServices(pw::rpc::Server & server)
-{
- server.RegisterService(echo_service);
-}
-
-void RunRpcService(void *)
-{
- Start(RegisterServices, &::chip::rpc::logger_mutex);
-}
-
-} // namespace
-
-int main(void)
-{
- init_efrPlatform();
- SILABS_LOG("***** CHIP EFR32 pigweed example *****\r\n");
-
- pw_sys_io_Init();
- // Initialize LEDs
- LEDWidget::InitGpio();
- sStatusLED.Init(SYSTEM_STATE_LED);
- sStatusLED.Set(true);
-
- xTaskCreate(RunRpcService, "RPC_Task", RPC_TASK_STACK_SIZE / sizeof(StackType_t), nullptr, RPC_TASK_PRIORITY, &sRpcTaskHandle);
- sl_system_kernel_start();
-}
diff --git a/examples/pigweed-app/efr32/third_party/connectedhomeip b/examples/pigweed-app/efr32/third_party/connectedhomeip
deleted file mode 120000
index c866b86874994d..00000000000000
--- a/examples/pigweed-app/efr32/third_party/connectedhomeip
+++ /dev/null
@@ -1 +0,0 @@
-../../../..
\ No newline at end of file
diff --git a/examples/shell/efr32/.gn b/examples/shell/efr32/.gn
deleted file mode 100644
index 3d48789e30ab3d..00000000000000
--- a/examples/shell/efr32/.gn
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2020 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-
-# The location of the build configuration file.
-buildconfig = "${build_root}/config/BUILDCONFIG.gn"
-
-# CHIP uses angle bracket includes.
-check_system_includes = true
-
-default_args = {
- target_cpu = "arm"
- target_os = "freertos"
-
- import("//args.gni")
-}
diff --git a/examples/shell/efr32/BUILD.gn b/examples/shell/efr32/BUILD.gn
deleted file mode 100644
index 193444a557e061..00000000000000
--- a/examples/shell/efr32/BUILD.gn
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright (c) 2020 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/build.gni")
-import("//build_overrides/chip.gni")
-import("//build_overrides/efr32_sdk.gni")
-
-import("${build_root}/config/defaults.gni")
-import("${chip_root}/src/platform/device.gni")
-import("${efr32_sdk_build_root}/efr32_executable.gni")
-import("${efr32_sdk_build_root}/efr32_sdk.gni")
-
-assert(current_os == "freertos")
-
-efr32_project_dir = "${chip_root}/examples/shell/efr32"
-examples_plat_dir = "${chip_root}/examples/platform/efr32"
-
-declare_args() {
- # Dump memory usage at link time.
- chip_print_memory_usage = true
-
- # Monitor & log memory usage at runtime.
- enable_heap_monitoring = false
-}
-
-efr32_sdk("sdk") {
- sources = [
- "${efr32_project_dir}/include/CHIPProjectConfig.h",
- "${examples_plat_dir}/FreeRTOSConfig.h",
- ]
-
- include_dirs = [
- "${chip_root}/src/platform/EFR32",
- "${efr32_project_dir}/include",
- "${examples_plat_dir}",
- ]
-
- defines = [
- "BOARD_ID=${silabs_board}",
- "OPENTHREAD_CONFIG_CLI_TRANSPORT=OT_CLI_TRANSPORT_CONSOLE",
- ]
-}
-
-efr32_executable("shell_app") {
- output_name = "chip-efr32-shell-example.out"
-
- sources = [
- "${examples_plat_dir}/heap_4_silabs.c",
- "${examples_plat_dir}/init_efrPlatform.cpp",
- "src/main.cpp",
- ]
-
- if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli ||
- use_wf200 || use_rs911x) {
- sources += [ "${examples_plat_dir}/uart.cpp" ]
- }
-
- deps = [
- ":sdk",
- "${chip_root}/examples/shell/shell_common:shell_common",
- "${chip_root}/src/lib",
- "${chip_root}/src/setup_payload",
- "${chip_root}/third_party/openthread/platforms:libopenthread-platform",
- "${chip_root}/third_party/openthread/platforms:libopenthread-platform-utils",
- "${examples_plat_dir}:efr-matter-shell",
- ]
-
- # Factory Data Provider
- if (use_efr32_factory_data_provider) {
- deps += [ "${examples_plat_dir}:efr32-factory-data-provider" ]
- }
-
- include_dirs = [ "include" ]
-
- defines = []
-
- if (enable_heap_monitoring) {
- sources += [ "${examples_plat_dir}/MemMonitoring.cpp" ]
- defines += [ "HEAP_MONITORING" ]
- }
-
- ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
-
- inputs = [ ldscript ]
-
- ldflags = [ "-T" + rebase_path(ldscript, root_build_dir) ]
-
- if (chip_print_memory_usage) {
- ldflags += [
- "-Wl,--print-memory-usage",
- "-fstack-usage",
- ]
- }
-
- output_dir = root_out_dir
-}
-
-group("efr32") {
- deps = [ ":shell_app" ]
-}
-
-group("default") {
- deps = [ ":efr32" ]
-}
diff --git a/examples/shell/efr32/args.gni b/examples/shell/efr32/args.gni
deleted file mode 100644
index 7f35899b5cad51..00000000000000
--- a/examples/shell/efr32/args.gni
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2020 Project CHIP Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import("//build_overrides/chip.gni")
-import("${chip_root}/config/standalone/args.gni")
-import("${chip_root}/src/platform/EFR32/args.gni")
-
-efr32_sdk_target = get_label_info(":sdk", "label_no_toolchain")
-
-chip_enable_openthread = true
-chip_openthread_ftd = true
-chip_build_libshell = true
diff --git a/examples/shell/efr32/build_overrides b/examples/shell/efr32/build_overrides
deleted file mode 120000
index e578e73312ebd1..00000000000000
--- a/examples/shell/efr32/build_overrides
+++ /dev/null
@@ -1 +0,0 @@
-../../build_overrides
\ No newline at end of file
diff --git a/examples/shell/efr32/include/AppConfig.h b/examples/shell/efr32/include/AppConfig.h
deleted file mode 100644
index 34129249b0daf0..00000000000000
--- a/examples/shell/efr32/include/AppConfig.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * Copyright (c) 2019 Google LLC.
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-// ---- Lighting Example App Config ----
-
-#define APP_TASK_NAME "Shell_Task"
-
-// EFR32 WSTK Buttons
-#define PB0 0
-#define PB1 1
-
-// EFR32 WSTK LEDs
-#define BSP_LED_0 0
-#define BSP_LED_1 1
-
-#define APP_LIGHT_SWITCH PB1
-#define APP_FUNCTION_BUTTON PB0
-#define APP_BUTTON_DEBOUNCE_PERIOD_MS 50
-
-#define APP_BUTTON_PRESSED 0
-#define APP_BUTTON_RELEASED 1
-
-#define SYSTEM_STATE_LED BSP_LED_0
-#define LIGHT_LED BSP_LED_1
-
-// Time it takes in ms for the simulated actuator to move from one
-// state to another.
-#define ACTUATOR_MOVEMENT_PERIOS_MS 10
-
-// ---- Light Example SWU Config ----
-#define SWU_INTERVAl_WINDOW_MIN_MS (23 * 60 * 60 * 1000) // 23 hours
-#define SWU_INTERVAl_WINDOW_MAX_MS (24 * 60 * 60 * 1000) // 24 hours
-
-// EFR Logging
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void silabsInitLog(void);
-
-void efr32Log(const char * aFormat, ...);
-#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
-void appError(int err);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/shell/efr32/include/CHIPProjectConfig.h b/examples/shell/efr32/include/CHIPProjectConfig.h
deleted file mode 100644
index 72a56579663289..00000000000000
--- a/examples/shell/efr32/include/CHIPProjectConfig.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * Copyright (c) 2019 Google LLC.
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * Example project configuration file for CHIP.
- *
- * This is a place to put application or project-specific overrides
- * to the default configuration values for general CHIP features.
- *
- */
-
-#pragma once
-
-// Use a default pairing code if one hasn't been provisioned in flash.
-#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
-#endif
-#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
-
-// For convenience, Chip Security Test Mode can be enabled and the
-// requirement for authentication in various protocols can be disabled.
-//
-// WARNING: These options make it possible to circumvent basic Chip security functionality,
-// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
-//
-#define CHIP_CONFIG_SECURITY_TEST_MODE 0
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
- *
- * 0xFFF1: Test vendor.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
- *
- * 0x8009: example shell
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8012
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
- *
- * The hardware version number assigned to device or product by the device vendor. This
- * number is scoped to the device product id, and typically corresponds to a revision of the
- * physical device, a change to its packaging, and/or a change to its marketing presentation.
- * This value is generally *not* incremented for device software versions.
- */
-#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 1
-
-/**
- * CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
- *
- * A uint32_t identifying the software version running on the device.
- */
-/* The SoftwareVersion attribute of the Basic cluster. */
-#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
-#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION 0x0001
-#endif
-
-/**
- * CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
- *
- * Enable support for Chip-over-BLE (CHIPoBLE).
- */
-#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1
-
-/**
- * CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER
- *
- * Enables the use of a hard-coded default serial number if none
- * is found in Chip NV storage.
- */
-#define CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER "TEST_SN"
-
-/**
- * CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
- *
- * Enable recording UTC timestamps.
- */
-#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
-
-/**
- * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
- *
- * A size, in bytes, of the individual debug event logging buffer.
- */
-#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
-
-#define _NO_NETWORK_COMMISSIONING_DRIVER_
diff --git a/examples/shell/efr32/include/FreeRTOSConfig.h b/examples/shell/efr32/include/FreeRTOSConfig.h
deleted file mode 100644
index 3cfcff06588010..00000000000000
--- a/examples/shell/efr32/include/FreeRTOSConfig.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/***************************************************************************
- * # License
- *
- * 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 Third Party Software licensed by Silicon Labs from a third party
- * and is governed by the sections of the MSLA applicable to Third Party
- * Software and the additional terms set forth below.
- *
- ******************************************************************************/
-/*
- FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
- All rights reserved
-
- VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
-
- This file is part of the FreeRTOS distribution.
-
- FreeRTOS is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License (version 2) as published by the
- Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
-
- ***************************************************************************
- >>! NOTE: The modification to the GPL is included to allow you to !<<
- >>! distribute a combined work that includes FreeRTOS without being !<<
- >>! obliged to provide the source code for proprietary components !<<
- >>! outside of the FreeRTOS kernel. !<<
- ***************************************************************************
-
- FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. Full license text is available on the following
- link: http://www.freertos.org/a00114.html
-
- ***************************************************************************
- * *
- * FreeRTOS provides completely free yet professionally developed, *
- * robust, strictly quality controlled, supported, and cross *
- * platform software that is more than just the market leader, it *
- * is the industry's de facto standard. *
- * *
- * Help yourself get started quickly while simultaneously helping *
- * to support the FreeRTOS project by purchasing a FreeRTOS *
- * tutorial book, reference manual, or both: *
- * http://www.FreeRTOS.org/Documentation *
- * *
- ***************************************************************************
-
- http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
- the FAQ page "My application does not run, what could be wrong?". Have you
- defined configASSERT()?
-
- http://www.FreeRTOS.org/support - In return for receiving this top quality
- embedded software for free we request you assist our global community by
- participating in the support forum.
-
- http://www.FreeRTOS.org/training - Investing in training allows your team to
- be as productive as possible as early as possible. Now you can receive
- FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
- Ltd, and the world's leading authority on the world's leading RTOS.
-
- http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
- including FreeRTOS+Trace - an indispensable productivity tool, a DOS
- compatible FAT file system, and our tiny thread aware UDP/IP stack.
-
- http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
- Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
-
- http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
- Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
- licenses offer ticketed support, indemnification and commercial middleware.
-
- http://www.SafeRTOS.com - High Integrity Systems also provide a safety
- engineered and independently SIL3 certified version for use in safety and
- mission critical applications that require provable dependability.
-
- 1 tab == 4 spaces!
-*/
-
-#pragma once
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include
-
-#include "RTE_Components.h"
-#include CMSIS_device_header
-
-#include "em_assert.h"
-#include "em_device.h"
-
-#if defined(SL_COMPONENT_CATALOG_PRESENT)
-#include "sl_component_catalog.h"
-#endif
-
-/*-----------------------------------------------------------
- * Application specific definitions.
- *
- * These definitions should be adjusted for your particular hardware and
- * application requirements.
- *
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
- *
- * See http://www.freertos.org/a00110.html.
- *----------------------------------------------------------*/
-
-/* Set configCREATE_LOW_POWER_DEMO as follows:
- *
- * 0: Build the full test and demo application.
- * 1: Build the simple blinky tickless low power demo, generating the tick
- * interrupt from the RTCC. EM2 will be entered. The LXFO clock is used.
- * See the comments at the top of main.c, main_full.c and main_low_power.c for
- * more information.
- */
-
-#define configCREATE_LOW_POWER_DEMO (0)
-
-/* Some configuration is dependent on the demo being built. */
-#if (configCREATE_LOW_POWER_DEMO == 0)
-
-/* Tickless mode is not used. */
-
-/* Some of the standard demo test tasks assume a tick rate of 1KHz, even
-though that is faster than would normally be warranted by a real
-application. */
-#define configTICK_RATE_HZ (1000)
-
-/* Energy saving modes. */
-#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
-#define configUSE_TICKLESS_IDLE 1
-#else
-#define configUSE_TICKLESS_IDLE 0
-#endif
-
-/* Definition used by Keil to replace default system clock source. */
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (1)
-#define configCHECK_FOR_STACK_OVERFLOW (2)
-#define configUSE_MALLOC_FAILED_HOOK (1)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM1)
-
-#else
-
-/* Tickless idle mode, generating RTOS tick interrupts from the RTC, fed
-by the LXFO clock. */
-
-/* The slow clock used to generate the tick interrupt in the low power demo
-runs at 32768/8=4096Hz. Ensure the tick rate is a multiple of the clock. */
-#define configTICK_RATE_HZ (128)
-
-/* The low power demo uses the tickless idle feature. */
-#define configUSE_TICKLESS_IDLE (1)
-#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION (1)
-
-/* Hook function related definitions. */
-#define configUSE_TICK_HOOK (0)
-#define configCHECK_FOR_STACK_OVERFLOW (0)
-#define configUSE_MALLOC_FAILED_HOOK (0)
-#define configUSE_IDLE_HOOK (1)
-
-#define configENERGY_MODE (sleepEM3)
-#endif
-
-/* Main functions*/
-/* Run time stats gathering related definitions. */
-#define configGENERATE_RUN_TIME_STATS (0)
-
-/* Co-routine related definitions. */
-#define configUSE_CO_ROUTINES (0)
-#define configMAX_CO_ROUTINE_PRIORITIES (1)
-
-/* Software timer related definitions. */
-#define configUSE_TIMERS (1)
-#define configTIMER_TASK_PRIORITY (40) /* Highest priority */
-#define configTIMER_QUEUE_LENGTH (10)
-#define configTIMER_TASK_STACK_DEPTH (1024)
-
-/* Interrupt priorities used by the kernel port layer itself. These are generic
-to all Cortex-M ports, and do not rely on any particular library functions. */
-#define configKERNEL_INTERRUPT_PRIORITY (255)
-/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
-See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
-#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 // 96
-#define configENABLE_FPU 0
-#define configENABLE_MPU 0
-/* FreeRTOS Secure Side Only and TrustZone Security Extension */
-#define configRUN_FREERTOS_SECURE_ONLY 1
-#define configENABLE_TRUSTZONE 0
-/* FreeRTOS MPU specific definitions. */
-#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS (0)
-
-#define configCPU_CLOCK_HZ (SystemCoreClock)
-#define configUSE_PREEMPTION (1)
-#define configUSE_TIME_SLICING (1)
-#define configUSE_PORT_OPTIMISED_TASK_SELECTION (0)
-#define configUSE_TICKLESS_IDLE_SIMPLE_DEBUG (1) /* See into vPortSuppressTicksAndSleep source code for explanation */
-#define configMAX_PRIORITIES (56)
-#define configMINIMAL_STACK_SIZE (320) /* Number of words to use for Idle and Timer stacks */
-#define configMAX_TASK_NAME_LEN (10)
-#define configUSE_16_BIT_TICKS (0)
-#define configIDLE_SHOULD_YIELD (1)
-#define configUSE_MUTEXES (1)
-#define configUSE_RECURSIVE_MUTEXES (1)
-#define configUSE_COUNTING_SEMAPHORES (1)
-#define configUSE_TASK_NOTIFICATIONS 1
-#define configUSE_TRACE_FACILITY 1
-#define configQUEUE_REGISTRY_SIZE (10)
-#define configUSE_QUEUE_SETS (0)
-#define configUSE_NEWLIB_REENTRANT (0)
-#define configENABLE_BACKWARD_COMPATIBILITY (1)
-#define configSUPPORT_STATIC_ALLOCATION (1)
-#define configSUPPORT_DYNAMIC_ALLOCATION (1)
-#define configTOTAL_HEAP_SIZE ((size_t)(16 * 1024))
-
-/* Optional functions - most linkers will remove unused functions anyway. */
-#define INCLUDE_vTaskPrioritySet (1)
-#define INCLUDE_uxTaskPriorityGet (1)
-#define INCLUDE_vTaskDelete (1)
-#define INCLUDE_vTaskSuspend (1)
-#define INCLUDE_xResumeFromISR (1)
-#define INCLUDE_vTaskDelayUntil (1)
-#define INCLUDE_vTaskDelay (1)
-#define INCLUDE_xTaskGetSchedulerState (1)
-#define INCLUDE_xTaskGetCurrentTaskHandle (1)
-#define INCLUDE_uxTaskGetStackHighWaterMark (1)
-#define INCLUDE_xTaskGetIdleTaskHandle (1)
-#define INCLUDE_xTimerGetTimerDaemonTaskHandle (1)
-#define INCLUDE_pcTaskGetTaskName (1)
-#define INCLUDE_eTaskGetState (1)
-#define INCLUDE_xEventGroupSetBitFromISR (1)
-#define INCLUDE_xEventGroupSetBitsFromISR (1)
-#define INCLUDE_xSemaphoreGetMutexHolder (1)
-#define INCLUDE_xTimerPendFunctionCall (1)
-#define INCLUDE_xTaskGetHandle (1)
-
-/* Stop if an assertion fails. */
-#define configASSERT(x) \
- if ((x) == 0) \
- { \
- taskDISABLE_INTERRUPTS(); \
- printf("\nFREERTOS ASSERT ( %s )\n", #x); \
- for (;;) \
- ; \
- }
-#define configASSERTNULL(x) \
- if ((x) == NULL) \
- { \
- taskDISABLE_INTERRUPTS(); \
- for (;;) \
- ; \
- }
-
-/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
-standard names. */
-#define vPortSVCHandler SVC_Handler
-#define xPortPendSVHandler PendSV_Handler
-/* Ensure Cortex-M port compatibility. */
-#define SysTick_Handler xPortSysTickHandler
-
-/* Thread local storage pointers used by the SDK */
-#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS
-#define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0
-#endif
-
-#if defined(__GNUC__)
-/* For the linker. */
-#define fabs __builtin_fabs
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/examples/shell/efr32/src/main.cpp b/examples/shell/efr32/src/main.cpp
deleted file mode 100644
index a7e6f9dcd8f319..00000000000000
--- a/examples/shell/efr32/src/main.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- *
- * Copyright (c) 2020 Project CHIP Authors
- * Copyright (c) 2019 Google LLC.
- * All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include
-#include
-#include
-
-#include
-#include
-#include
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "matter_shell.h"
-#include
-#include
-#include
-#include
-
-#ifdef HEAP_MONITORING
-#include "MemMonitoring.h"
-#endif
-
-#if CHIP_ENABLE_OPENTHREAD
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#endif // CHIP_ENABLE_OPENTHREAD
-
-using namespace ::chip;
-using namespace ::chip::DeviceLayer;
-using chip::Shell::Engine;
-
-// ================================================================================
-// Supporting functions
-// ================================================================================
-
-void appError(int err)
-{
- SILABS_LOG("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!", err);
- portDISABLE_INTERRUPTS();
- while (true)
- ;
-}
-
-void appError(CHIP_ERROR error)
-{
- appError(static_cast(error.AsInteger()));
-}
-
-extern "C" void vApplicationIdleHook(void)
-{
- // FreeRTOS Idle callback
-
- // Check CHIP Config nvm3 and repack flash if necessary.
- Internal::EFR32Config::RepackNvm3Flash();
-}
-
-// ================================================================================
-// Main Code
-// ================================================================================
-
-int main(void)
-{
- init_efrPlatform();
- mbedtls_platform_set_calloc_free(CHIPPlatformMemoryCalloc, CHIPPlatformMemoryFree);
-
-#ifdef HEAP_MONITORING
- MemMonitoring::startHeapMonitoring();
-#endif
-
- SILABS_LOG("==================================================");
- SILABS_LOG("chip-efr32-shell-example starting");
- SILABS_LOG("==================================================");
-
- SILABS_LOG("Init CHIP Stack");
-
- // Init Chip memory management before the stack
- chip::Platform::MemoryInit();
-
- CHIP_ERROR ret = PlatformMgr().InitChipStack();
- if (ret != CHIP_NO_ERROR)
- {
- SILABS_LOG("PlatformMgr().InitChipStack() failed");
- appError(ret);
- }
- chip::DeviceLayer::ConnectivityMgr().SetBLEDeviceName("EFR32_SHELL");
-
- SILABS_LOG("Starting Platform Manager Event Loop");
- ret = PlatformMgr().StartEventLoopTask();
- if (ret != CHIP_NO_ERROR)
- {
- SILABS_LOG("PlatformMgr().StartEventLoopTask() failed");
- appError(ret);
- }
-
-#if CHIP_ENABLE_OPENTHREAD
- SILABS_LOG("Initializing OpenThread stack");
- ret = ThreadStackMgr().InitThreadStack();
- if (ret != CHIP_NO_ERROR)
- {
- SILABS_LOG("ThreadStackMgr().InitThreadStack() failed");
- appError(ret);
- }
-
- ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_Router);
- if (ret != CHIP_NO_ERROR)
- {
- SILABS_LOG("ConnectivityMgr().SetThreadDeviceType() failed");
- appError(ret);
- }
-#endif // CHIP_ENABLE_OPENTHREAD
-
-#if CHIP_ENABLE_OPENTHREAD
- SILABS_LOG("Starting OpenThread task");
-
- // Start OpenThread task
- ret = ThreadStackMgrImpl().StartThreadTask();
- if (ret != CHIP_NO_ERROR)
- {
- SILABS_LOG("ThreadStackMgr().StartThreadTask() failed");
- appError(ret);
- }
-#endif // CHIP_ENABLE_OPENTHREAD
-
- chip::startShellTask();
- sl_system_kernel_start();
-}
diff --git a/examples/shell/efr32/third_party/connectedhomeip b/examples/shell/efr32/third_party/connectedhomeip
deleted file mode 120000
index c866b86874994d..00000000000000
--- a/examples/shell/efr32/third_party/connectedhomeip
+++ /dev/null
@@ -1 +0,0 @@
-../../../..
\ No newline at end of file