Skip to content

Commit 4b39ebd

Browse files
authored
Merge branch 'espressif:release/v5.5' into release/v5.5
2 parents ebd679b + 4b2b5d7 commit 4b39ebd

File tree

328 files changed

+8897
-1841
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

328 files changed

+8897
-1841
lines changed

.gitmodules

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,12 @@
4949
[submodule "components/json/cJSON"]
5050
path = components/json/cJSON
5151
url = ../../DaveGamble/cJSON.git
52-
sbom-version = 1.7.18
52+
sbom-version = 1.7.19
5353
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
5454
sbom-supplier = Person: Dave Gamble
5555
sbom-url = https://github.com/DaveGamble/cJSON
5656
sbom-description = Ultralightweight JSON parser in ANSI C
57-
sbom-hash = 8f2beb57ddad1f94bed899790b00f46df893ccac
58-
sbom-cve-exclude-list = CVE-2024-31755 Resolved in v1.7.18
59-
sbom-cve-exclude-list = CVE-2023-26819 Resolved in commit a328d65ad490b64da8c87523cbbfe16050ba5bf6
60-
sbom-cve-exclude-list = CVE-2023-53154 Resolved in v1.7.18
57+
sbom-hash = c859b25da02955fef659d658b8f324b5cde87be3
6158

6259
[submodule "components/mbedtls/mbedtls"]
6360
path = components/mbedtls/mbedtls

Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
233233

234234
CONFIG_APP_BUILD_TYPE_RAM=y
235235
CONFIG_VFS_SUPPORT_TERMIOS=
236-
CONFIG_NEWLIB_NANO_FORMAT=y
236+
CONFIG_LIBC_NEWLIB_NANO_FORMAT=y
237237
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
238238
CONFIG_ESP_DEBUG_STUBS_ENABLE=
239239
CONFIG_ESP_ERR_TO_NAME_LOOKUP=

components/bootloader_support/test_apps/.build-test-rules.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,3 @@ components/bootloader_support/test_apps/rtc_custom_section:
44
enable:
55
- if: SOC_RTC_MEM_SUPPORTED == 1
66
reason: this feature is supported on chips that have RTC memory
7-
disable:
8-
- if: IDF_TARGET == "esp32h21"
9-
temporary: true
10-
reason: IDF-11534
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
2-
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
1+
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-H21 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
2+
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- |

components/bt/CMakeLists.txt

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,42 @@ if(CONFIG_BT_ENABLED)
137137
"common/ble_log/ble_log_uhci_out.c"
138138
)
139139

140+
# BLE Log Module
141+
if(CONFIG_BLE_LOG_ENABLED)
142+
# Core source files
143+
list(APPEND srcs
144+
common/ble_log/src/ble_log.c
145+
common/ble_log/src/ble_log_lbm.c
146+
common/ble_log/src/ble_log_rt.c
147+
common/ble_log/src/ble_log_util.c
148+
)
149+
150+
# Includes
151+
list(APPEND include_dirs
152+
common/ble_log/include
153+
)
154+
155+
# Private includes
156+
list(APPEND priv_include_dirs
157+
common/ble_log/src/internal_include
158+
common/ble_log/src/internal_include/prph
159+
)
160+
161+
# Timestamp synchronization extension
162+
if(CONFIG_BLE_LOG_TS_ENABLED)
163+
list(APPEND srcs common/ble_log/src/ble_log_ts.c)
164+
endif()
165+
166+
# Peripheral interface implementation
167+
if(CONFIG_BLE_LOG_PRPH_DUMMY)
168+
list(APPEND srcs common/ble_log/src/prph/ble_log_prph_dummy.c)
169+
elseif(CONFIG_BLE_LOG_PRPH_SPI_MASTER_DMA)
170+
list(APPEND srcs common/ble_log/src/prph/ble_log_prph_spi_master_dma.c)
171+
elseif(CONFIG_BLE_LOG_PRPH_UART_DMA)
172+
list(APPEND srcs common/ble_log/src/prph/ble_log_prph_uart_dma.c)
173+
endif()
174+
endif()
175+
140176
# Host Bluedroid
141177
if(CONFIG_BT_BLUEDROID_ENABLED)
142178

@@ -783,6 +819,13 @@ if(CONFIG_BT_ENABLED)
783819
"host/nimble/nimble/nimble/host/src/ble_eatt.c"
784820
)
785821

822+
if(CONFIG_BT_NIMBLE_ISO)
823+
list(APPEND srcs
824+
"host/nimble/nimble/nimble/host/src/ble_hs_iso_hci.c"
825+
"host/nimble/nimble/nimble/host/src/ble_hs_iso.c"
826+
)
827+
endif()
828+
786829
if(CONFIG_BT_CONTROLLER_DISABLED AND CONFIG_BT_NIMBLE_TRANSPORT_UART)
787830
list(APPEND srcs
788831
"host/nimble/nimble/nimble/transport/uart_ll/src/hci_uart.c"
@@ -950,6 +993,13 @@ if(CONFIG_BT_ENABLED)
950993
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes")
951994
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes_with_break")
952995
endif()
996+
if(DEFINED CONFIG_BLE_LOG_PRPH_UART_DMA_PORT)
997+
if(CONFIG_BLE_LOG_PRPH_UART_DMA_PORT EQUAL 0)
998+
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_tx_chars")
999+
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes")
1000+
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=uart_write_bytes_with_break")
1001+
endif()
1002+
endif()
9531003
if(CONFIG_IDF_TARGET_ESP32C6)
9541004
add_prebuilt_library(libble_app
9551005
"${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c6/esp32c6-bt-lib/esp32c6/libble_app.a"

components/bt/common/Kconfig.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ config BT_ALARM_MAX_NUM
66
This option decides the maximum number of alarms which
77
could be used by Bluetooth host.
88

9+
menu "BLE Log"
10+
source "$IDF_PATH/components/bt/common/ble_log/Kconfig.in"
11+
endmenu
12+
913
config BT_BLE_LOG_SPI_OUT_ENABLED
1014
bool "Output ble logs to SPI bus (Experimental)"
1115
default n
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
config BLE_LOG_ENABLED
2+
bool "Enable BLE Log Module (Experimental)"
3+
default n
4+
help
5+
Enable BLE Log Module
6+
7+
if BLE_LOG_ENABLED
8+
config BLE_LOG_LBM_TRANS_SIZE
9+
int "Buffer size for each peripheral transport"
10+
default 512
11+
help
12+
There're 2 log buffer managers (LBMs) with compare-and-swap
13+
(CAS) protection, 1 LBM with FreeRTOS mutex protection, 1 LBM
14+
without protection for critical section. Each LBM is managing
15+
2 ping-pong buffers, which means there will be 4 * 2 *
16+
BLE_LOG_LBM_TRANS_SIZE bytes buffer allocated
17+
18+
config BLE_LOG_LBM_ATOMIC_LOCK_TASK_CNT
19+
int "Count of log buffer managers with atomic lock protection for task context"
20+
default 2
21+
help
22+
BLE Log module will search for an LBM with atomic lock protection first; if
23+
all LBMs with atomic lock protection are unavailable, BLE Log module will
24+
try to use the LBM with spin lock protection. So the more LBMs with atomic
25+
lock protection are created, the better the logging performance will be.
26+
27+
config BLE_LOG_LBM_ATOMIC_LOCK_ISR_CNT
28+
int "Count of log buffer managers with atomic lock protection for ISR context"
29+
default 1
30+
help
31+
BLE Log module will search for an LBM with atomic lock protection first; if
32+
all LBMs with atomic lock protection are unavailable, BLE Log module will
33+
try to use the LBM with spin lock protection. So the more LBMs with atomic
34+
lock protection are created, the more ISRs can nest.
35+
36+
config BLE_LOG_LL_ENABLED
37+
bool "Enable BLE Log for Link Layer"
38+
depends on BT_CONTROLLER_ENABLED
39+
default y
40+
select BT_LE_CONTROLLER_LOG_ENABLED
41+
select BT_LE_CONTROLLER_LOG_MODE_BLE_LOG
42+
help
43+
Enable BLE Log for Link Layer
44+
45+
config BLE_LOG_LBM_LL_TRANS_SIZE
46+
int "Buffer size for each peripheral transport of Link Layer LBM"
47+
depends on BLE_LOG_LL_ENABLED
48+
default 1024
49+
help
50+
There're 2 Link Layer dedicated log buffer managers (LBMs) with
51+
compare-and-swap (CAS) protection. Each LBM is managing 2 ping-
52+
pong buffers, which means there will be additional 2 * 2 *
53+
BLE_LOG_LBM_LL_TRANS_SIZE bytes buffer allocated
54+
55+
config BLE_LOG_PAYLOAD_CHECKSUM_ENABLED
56+
bool "Enable payload checksum for BLE Log data integrity check"
57+
default y
58+
help
59+
Checksum is the default method for BLE Log data integrity check,
60+
but for targets with slow CPU speed, it may cause significant system
61+
performance decrease; a compromise could be made to balance the
62+
realtime performance and log data integrity, which is calculating the
63+
checksum of frame head and payload all together by default, or only
64+
calculate the checksum of frame head to minimize performance decrease
65+
66+
config BLE_LOG_ENH_STAT_ENABLED
67+
bool "Enable enhanced statistics for BLE Log"
68+
default n
69+
help
70+
Enable enhanced statistics for written/lost frame/bytes count, which may
71+
cost additional ~100kB memory
72+
73+
config BLE_LOG_TS_ENABLED
74+
bool "Enable BLE Log Timestamp Synchronization (TS)"
75+
default n
76+
help
77+
Enable BLE Log TS with external logging module
78+
79+
config BLE_LOG_SYNC_IO_NUM
80+
int "GPIO number for Timestamp Synchronization (TS) toggle output"
81+
depends on BLE_LOG_TS_ENABLED
82+
default 0
83+
help
84+
GPIO number for TS toggle output
85+
86+
choice BLE_LOG_PRPH_CHOICE
87+
prompt "BLE Log peripheral choice"
88+
default BLE_LOG_PRPH_DUMMY
89+
help
90+
Choose BLE Log peripheral
91+
92+
config BLE_LOG_PRPH_DUMMY
93+
bool "Dummy transport"
94+
help
95+
Dummy transport (dump only)
96+
97+
config BLE_LOG_PRPH_SPI_MASTER_DMA
98+
bool "Utilize SPI master DMA driver as transport"
99+
help
100+
Utilize SPI master DMA driver as transport
101+
102+
config BLE_LOG_PRPH_UART_DMA
103+
bool "Utilize UART DMA driver as transport"
104+
help
105+
Utilize UART DMA driver as transport
106+
endchoice
107+
108+
if BLE_LOG_PRPH_SPI_MASTER_DMA
109+
config BLE_LOG_PRPH_SPI_MASTER_DMA_MOSI_IO_NUM
110+
int "GPIO number of MOSI port for SPI master DMA transport"
111+
default 0
112+
help
113+
GPIO number of MOSI port for SPI master DMA transport
114+
115+
config BLE_LOG_PRPH_SPI_MASTER_DMA_SCLK_IO_NUM
116+
int "GPIO number of SCLK port for SPI master DMA transport"
117+
default 0
118+
help
119+
GPIO number of SCLK port for SPI master DMA transport
120+
121+
config BLE_LOG_PRPH_SPI_MASTER_DMA_CS_IO_NUM
122+
int "GPIO number of CS port for SPI master DMA transport"
123+
default 0
124+
help
125+
GPIO number of CS port for SPI master DMA transport
126+
endif
127+
128+
if BLE_LOG_PRPH_UART_DMA
129+
config BLE_LOG_PRPH_UART_DMA_PORT
130+
int "UART port number for UART DMA transport"
131+
default 0
132+
help
133+
UART port number for UART DMA
134+
135+
config BLE_LOG_PRPH_UART_DMA_BAUD_RATE
136+
int "Baud rate of UART port for UART DMA transport"
137+
default 921600
138+
help
139+
Determine the baud rate of UART port
140+
141+
config BLE_LOG_PRPH_UART_DMA_TX_IO_NUM
142+
int "GPIO number for UART TX"
143+
default 0
144+
help
145+
GPIO number for UART TX
146+
endif
147+
endif

0 commit comments

Comments
 (0)