Merge branch 'example/add-ota-function-for-thread-br-main' into 'main'

example/thread_border_router: add ota function for otbr example

See merge request app-frameworks/esp-matter!1201
This commit is contained in:
Shu Chen
2025-07-30 11:07:23 +00:00
5 changed files with 74 additions and 13 deletions
+9
View File
@@ -31,6 +31,15 @@ $ idf.py set-target esp32h2 build
After flashing the Thread Border Router firmware to ESP32-S3, it will flash the RCP firmware to ESP32-H2 automatically.
### 1.3 Firmware for Host SoC
The default setting flash size is 8MB, set target and build as below:
```
$ idf.py set-target esp32s3
$ idf.py build
```
## 2. Post Commissioning Setup
After commissioning the Border Router with chip-tool, you can set up the Thread network with ThreadBorderRouterManagement cluster.
@@ -1,5 +1,6 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS ".")
INCLUDE_DIRS "."
LDFRAGMENTS "linker.lf")
set_property(TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 17)
target_compile_options(${COMPONENT_LIB} PRIVATE "-DCHIP_HAVE_CONFIG_H")
@@ -0,0 +1,31 @@
[mapping:CHIP]
archive: libCHIP.a
entries:
if SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY = y:
* (extram_bss)
else:
* (default)
[mapping:esp_matter]
archive: libesp_matter.a
entries:
if SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY = y:
* (extram_bss)
else:
* (default)
[mapping:main]
archive: libmain.a
entries:
if SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY = y:
* (extram_bss)
else:
* (default)
[mapping:openthread_bss]
archive: libopenthread.a
entries:
if SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY = y && OPENTHREAD_ENABLED = y:
* (extram_bss)
else:
* (default)
+12 -6
View File
@@ -1,6 +1,12 @@
# Name, Type, SubType, Offset, Size, Flags
# Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table
nvs, data, nvs, , 0xA000,
phy_init, data, phy, , 0x1000,
factory, app, factory, , 3000K,
rcp_fw, data, spiffs, , 600K,
# Name, Type, SubType, Offset, Size, Flags
# Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table,,,,
esp_secure_cert,0x3F,, 0xd000, 0x2000, encrypted
nvs, data, nvs, 0x10000, 0xC000,
nvs_keys, data, nvs_keys,0x1C000, 0x1000, encrypted
otadata, data, ota, 0x1D000, 0x2000,
phy_init, data, phy, 0x1F000, 0x1000,
ota_0, app, ota_0, 0x20000, 0x250000,
ota_1, app, ota_1, 0x270000, 0x250000,
rcp_fw, data, spiffs, 0x4C0000, 0xA0000,
fctry, data, nvs, 0x560000, 0x6000
1 # Name, Type, SubType, Offset, Size, Flags # Name Type SubType Offset Size Flags
2 # Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table # Note: Firmware partition offset needs to be 64K aligned initial 36K (9 sectors) are reserved for bootloader and partition table
3 nvs, data, nvs, , 0xA000, esp_secure_cert 0x3F 0xd000 0x2000 encrypted
4 phy_init, data, phy, , 0x1000, nvs data nvs 0x10000 0xC000
5 factory, app, factory, , 3000K, nvs_keys data nvs_keys 0x1C000 0x1000 encrypted
6 rcp_fw, data, spiffs, , 600K, otadata data ota 0x1D000 0x2000
7 phy_init data phy 0x1F000 0x1000
8 ota_0 app ota_0 0x20000 0x250000
9 ota_1 app ota_1 0x270000 0x250000
10 rcp_fw data spiffs 0x4C0000 0xA0000
11 fctry data nvs 0x560000 0x6000
12
@@ -1,4 +1,4 @@
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
#enable BT
CONFIG_BT_ENABLED=y
@@ -14,6 +14,7 @@ CONFIG_CHIP_TASK_STACK_SIZE=10240
# partition table
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
# USB console for Thread border board
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
@@ -49,12 +50,25 @@ CONFIG_OPENTHREAD_SRP_CLIENT=n
CONFIG_OPENTHREAD_DNS_CLIENT=n
CONFIG_OPENTHREAD_BORDER_ROUTER=y
CONFIG_THREAD_NETWORK_COMMISSIONING_DRIVER=n
CONFIG_AUTO_UPDATE_RCP=y
#Enable chip shell
CONFIG_ENABLE_CHIP_SHELL=y
# Matter OTA
CONFIG_ENABLE_OTA_REQUESTOR=y
# Use platform mDNS
CONFIG_USE_MINIMAL_MDNS=n
# Enable Matter shell
CONFIG_ENABLE_CHIP_SHELL=y
CONFIG_ESP_MATTER_CONSOLE_TASK_STACK=4096
CONFIG_AUTO_UPDATE_RCP=y
# Use SPIRAM and external alloc
CONFIG_SPIRAM=y
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_MODE_QUAD=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=512
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=16384
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=y
CONFIG_ESP_MATTER_MEM_ALLOC_MODE_EXTERNAL=y
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y