From 825c55e5d09e61087baf51ccd6de651ab0280210 Mon Sep 17 00:00:00 2001 From: Zhou Xiao Date: Wed, 9 Jul 2025 13:14:21 +0800 Subject: [PATCH] feat(ble): support memory allocation check debug feature on ESP32-C6 (cherry picked from commit 027766e0c26dcfd1d04fd9cf5d8d5f7ed85a9d1c) Co-authored-by: cjin --- components/bt/controller/esp32c6/Kconfig.in | 6 ++++++ components/bt/controller/esp32c6/bt.c | 7 +++++++ components/bt/include/esp32c6/include/esp_bt.h | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/components/bt/controller/esp32c6/Kconfig.in b/components/bt/controller/esp32c6/Kconfig.in index 8f3c33630b..f7b2a7db92 100644 --- a/components/bt/controller/esp32c6/Kconfig.in +++ b/components/bt/controller/esp32c6/Kconfig.in @@ -447,6 +447,12 @@ menu "Controller debug features" config BT_LE_PTR_CHECK_ENABLED bool "Enable boundary check for internal memory" default n + + config BT_LE_MEM_CHECK_ENABLED + bool "Enable memory allocation check" + default n + help + Used in internal tests only. Enable the memory allocation check. endmenu config BT_LE_LL_RESOLV_LIST_SIZE diff --git a/components/bt/controller/esp32c6/bt.c b/components/bt/controller/esp32c6/bt.c index 56ceaa58dd..3d6bd149c4 100644 --- a/components/bt/controller/esp32c6/bt.c +++ b/components/bt/controller/esp32c6/bt.c @@ -1770,3 +1770,10 @@ ble_capture_info_user_handler(uint8_t type, uint32_t reason, uint32_t param1, ui } return 0; } + +#if CONFIG_BT_LE_MEM_CHECK_ENABLED +void ble_memory_count_limit_set(uint16_t count_limit) +{ + bt_osi_mem_count_limit_set(count_limit); +} +#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED diff --git a/components/bt/include/esp32c6/include/esp_bt.h b/components/bt/include/esp32c6/include/esp_bt.h index 960defc144..94f099184a 100644 --- a/components/bt/include/esp32c6/include/esp_bt.h +++ b/components/bt/include/esp32c6/include/esp_bt.h @@ -521,6 +521,10 @@ uint32_t esp_bt_get_lpclk_freq(void); void esp_bt_set_lpclk_freq(uint32_t clk_freq); +#if CONFIG_BT_LE_MEM_CHECK_ENABLED +void ble_memory_count_limit_set(uint16_t count_limit); +#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED + #ifdef __cplusplus } #endif