mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
Merge branch 'feat/esp32c2_add_get_used_heap_size' into 'master'
Feat/esp32c2 add get used heap size Closes BLERP-2245, BLERP-2276, and BLERP-2277 See merge request espressif/esp-idf!42168
This commit is contained in:
@@ -255,3 +255,9 @@ config BT_BLE_LOG_UHCI_OUT_UART_IO_NUM_TX
|
|||||||
default 0
|
default 0
|
||||||
help
|
help
|
||||||
IO number for UART TX port
|
IO number for UART TX port
|
||||||
|
|
||||||
|
config BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
bool "Enable used memory statistics"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Used in internal tests only. Enable used memory statistics.
|
||||||
|
|||||||
@@ -575,7 +575,7 @@ struct ext_funcs_t ext_funcs_ro = {
|
|||||||
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
||||||
._esp_intr_free = esp_intr_free_wrapper,
|
._esp_intr_free = esp_intr_free_wrapper,
|
||||||
._malloc = bt_osi_mem_malloc_internal,
|
._malloc = bt_osi_mem_malloc_internal,
|
||||||
._free = bt_osi_mem_free,
|
._free = bt_osi_mem_free_internal,
|
||||||
._task_create = task_create_wrapper,
|
._task_create = task_create_wrapper,
|
||||||
._task_delete = task_delete_wrapper,
|
._task_delete = task_delete_wrapper,
|
||||||
._osi_assert = osi_assert_wrapper,
|
._osi_assert = osi_assert_wrapper,
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ struct ext_funcs_t ext_funcs_ro = {
|
|||||||
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
||||||
._esp_intr_free = esp_intr_free_wrapper,
|
._esp_intr_free = esp_intr_free_wrapper,
|
||||||
._malloc = bt_osi_mem_malloc_internal,
|
._malloc = bt_osi_mem_malloc_internal,
|
||||||
._free = bt_osi_mem_free,
|
._free = bt_osi_mem_free_internal,
|
||||||
._task_create = task_create_wrapper,
|
._task_create = task_create_wrapper,
|
||||||
._task_delete = task_delete_wrapper,
|
._task_delete = task_delete_wrapper,
|
||||||
._osi_assert = osi_assert_wrapper,
|
._osi_assert = osi_assert_wrapper,
|
||||||
|
|||||||
@@ -553,7 +553,7 @@ struct ext_funcs_t ext_funcs_ro = {
|
|||||||
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
||||||
._esp_intr_free = esp_intr_free_wrapper,
|
._esp_intr_free = esp_intr_free_wrapper,
|
||||||
._malloc = bt_osi_mem_malloc_internal,
|
._malloc = bt_osi_mem_malloc_internal,
|
||||||
._free = bt_osi_mem_free,
|
._free = bt_osi_mem_free_internal,
|
||||||
._task_create = task_create_wrapper,
|
._task_create = task_create_wrapper,
|
||||||
._task_delete = task_delete_wrapper,
|
._task_delete = task_delete_wrapper,
|
||||||
._osi_assert = osi_assert_wrapper,
|
._osi_assert = osi_assert_wrapper,
|
||||||
|
|||||||
@@ -545,7 +545,7 @@ struct ext_funcs_t ext_funcs_ro = {
|
|||||||
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
._esp_intr_alloc = esp_intr_alloc_wrapper,
|
||||||
._esp_intr_free = esp_intr_free_wrapper,
|
._esp_intr_free = esp_intr_free_wrapper,
|
||||||
._malloc = bt_osi_mem_malloc_internal,
|
._malloc = bt_osi_mem_malloc_internal,
|
||||||
._free = bt_osi_mem_free,
|
._free = bt_osi_mem_free_internal,
|
||||||
._task_create = task_create_wrapper,
|
._task_create = task_create_wrapper,
|
||||||
._task_delete = task_delete_wrapper,
|
._task_delete = task_delete_wrapper,
|
||||||
._osi_assert = osi_assert_wrapper,
|
._osi_assert = osi_assert_wrapper,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -20,6 +20,12 @@ void *bt_osi_mem_calloc_internal(size_t n, size_t size);
|
|||||||
|
|
||||||
void bt_osi_mem_free(void *ptr);
|
void bt_osi_mem_free(void *ptr);
|
||||||
|
|
||||||
|
void bt_osi_mem_free_internal(void *ptr);
|
||||||
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
void bt_osi_mem_count_limit_set(uint16_t count_limit);
|
void bt_osi_mem_count_limit_set(uint16_t count_limit);
|
||||||
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
size_t bt_osi_mem_internal_used_size_get(void);
|
||||||
|
size_t bt_osi_mem_used_size_get(void);
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
static uint8_t log_count;
|
static uint8_t log_count;
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
static size_t controller_mem_used_size = 0;
|
||||||
|
static size_t host_mem_used_size = 0;
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
static uint16_t mem_count_limit = 0;
|
static uint16_t mem_count_limit = 0;
|
||||||
static uint16_t curr_mem_count;
|
static uint16_t curr_mem_count;
|
||||||
@@ -35,24 +39,37 @@ IRAM_ATTR void *bt_osi_mem_malloc(size_t size)
|
|||||||
}
|
}
|
||||||
assert(mem != NULL);
|
assert(mem != NULL);
|
||||||
}
|
}
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if(mem) {
|
||||||
|
host_mem_used_size += heap_caps_get_allocated_size(mem);
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
IRAM_ATTR void *bt_osi_mem_calloc(size_t n, size_t size)
|
IRAM_ATTR void *bt_osi_mem_calloc(size_t n, size_t size)
|
||||||
{
|
{
|
||||||
|
void *mem = NULL;
|
||||||
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
#ifdef CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL
|
||||||
return heap_caps_calloc(n, size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
|
mem = heap_caps_calloc(n, size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
|
||||||
#elif CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
|
#elif CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
|
||||||
return heap_caps_calloc(n, size, MALLOC_CAP_SPIRAM|MALLOC_CAP_8BIT);
|
mem = heap_caps_calloc(n, size, MALLOC_CAP_SPIRAM|MALLOC_CAP_8BIT);
|
||||||
#elif CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT
|
#elif CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT
|
||||||
return heap_caps_calloc_prefer(n, size, 2, MALLOC_CAP_INTERNAL|MALLOC_CAP_IRAM_8BIT, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
|
mem = heap_caps_calloc_prefer(n, size, 2, MALLOC_CAP_INTERNAL|MALLOC_CAP_IRAM_8BIT, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
|
||||||
#else
|
#else
|
||||||
return calloc(n, size);
|
mem = calloc(n, size);
|
||||||
#endif
|
#endif
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if(mem) {
|
||||||
|
host_mem_used_size += heap_caps_get_allocated_size(mem);
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
return mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
IRAM_ATTR void *bt_osi_mem_malloc_internal(size_t size)
|
IRAM_ATTR void *bt_osi_mem_malloc_internal(size_t size)
|
||||||
{
|
{
|
||||||
|
void *mem_ptr;
|
||||||
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
if (mem_count_limit) {
|
if (mem_count_limit) {
|
||||||
if (curr_mem_count > mem_count_limit) {
|
if (curr_mem_count > mem_count_limit) {
|
||||||
@@ -61,11 +78,18 @@ IRAM_ATTR void *bt_osi_mem_malloc_internal(size_t size)
|
|||||||
curr_mem_count ++;
|
curr_mem_count ++;
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
return heap_caps_malloc(size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT|MALLOC_CAP_DMA);
|
mem_ptr = heap_caps_malloc(size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT|MALLOC_CAP_DMA);
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if (mem_ptr) {
|
||||||
|
controller_mem_used_size += heap_caps_get_allocated_size(mem_ptr);
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
return mem_ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
IRAM_ATTR void *bt_osi_mem_calloc_internal(size_t n, size_t size)
|
IRAM_ATTR void *bt_osi_mem_calloc_internal(size_t n, size_t size)
|
||||||
{
|
{
|
||||||
|
void *mem_ptr;
|
||||||
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#if CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
if (mem_count_limit) {
|
if (mem_count_limit) {
|
||||||
if (curr_mem_count > mem_count_limit) {
|
if (curr_mem_count > mem_count_limit) {
|
||||||
@@ -74,11 +98,36 @@ IRAM_ATTR void *bt_osi_mem_calloc_internal(size_t n, size_t size)
|
|||||||
curr_mem_count ++;
|
curr_mem_count ++;
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
return heap_caps_calloc(n, size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT|MALLOC_CAP_DMA);
|
mem_ptr = heap_caps_calloc(n, size, MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT|MALLOC_CAP_DMA);
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if (mem_ptr) {
|
||||||
|
controller_mem_used_size += heap_caps_get_allocated_size(mem_ptr);
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
return mem_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
IRAM_ATTR void bt_osi_mem_free_internal(void *ptr)
|
||||||
|
{
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if (ptr) {
|
||||||
|
size_t alloc_size = heap_caps_get_allocated_size(ptr);
|
||||||
|
// assert(controller_mem_used_size >= alloc_size);
|
||||||
|
controller_mem_used_size -= alloc_size;
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
heap_caps_free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
IRAM_ATTR void bt_osi_mem_free(void *ptr)
|
IRAM_ATTR void bt_osi_mem_free(void *ptr)
|
||||||
{
|
{
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
if (ptr) {
|
||||||
|
size_t alloc_size = heap_caps_get_allocated_size(ptr);
|
||||||
|
// assert(host_mem_used_size >= alloc_size);
|
||||||
|
host_mem_used_size -= alloc_size;
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
heap_caps_free(ptr);
|
heap_caps_free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,3 +138,29 @@ void bt_osi_mem_count_limit_set(uint16_t count_limit)
|
|||||||
curr_mem_count = 0;
|
curr_mem_count = 0;
|
||||||
}
|
}
|
||||||
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
#endif // CONFIG_BT_LE_MEM_CHECK_ENABLED
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
size_t
|
||||||
|
bt_osi_mem_internal_used_size_get(void)
|
||||||
|
{
|
||||||
|
return controller_mem_used_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t
|
||||||
|
bt_osi_mem_used_size_get(void)
|
||||||
|
{
|
||||||
|
return host_mem_used_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t esp_ble_controller_used_heap_size_get(void)
|
||||||
|
{
|
||||||
|
return bt_osi_mem_internal_used_size_get();
|
||||||
|
}
|
||||||
|
|
||||||
|
#if CONFIG_BT_NIMBLE_ENABLED
|
||||||
|
uint32_t esp_host_used_heap_size_get(void)
|
||||||
|
{
|
||||||
|
return bt_osi_mem_used_size_get();
|
||||||
|
}
|
||||||
|
#endif // CONFIG_BT_NIMBLE_ENABLED
|
||||||
|
#endif // CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -116,7 +116,7 @@ IRAM_ATTR npl_freertos_event_deinit(struct ble_npl_event *ev)
|
|||||||
#if OS_MEM_ALLOC
|
#if OS_MEM_ALLOC
|
||||||
os_memblock_put(&ble_freertos_ev_pool,ev->event);
|
os_memblock_put(&ble_freertos_ev_pool,ev->event);
|
||||||
#else
|
#else
|
||||||
bt_osi_mem_free(ev->event);
|
bt_osi_mem_free_internal(ev->event);
|
||||||
#endif
|
#endif
|
||||||
ev->event = NULL;
|
ev->event = NULL;
|
||||||
}
|
}
|
||||||
@@ -170,7 +170,7 @@ npl_freertos_eventq_deinit(struct ble_npl_eventq *evq)
|
|||||||
#if OS_MEM_ALLOC
|
#if OS_MEM_ALLOC
|
||||||
os_memblock_put(&ble_freertos_evq_pool,eventq);
|
os_memblock_put(&ble_freertos_evq_pool,eventq);
|
||||||
#else
|
#else
|
||||||
bt_osi_mem_free((void *)eventq);
|
bt_osi_mem_free_internal((void *)eventq);
|
||||||
#endif
|
#endif
|
||||||
evq->eventq = NULL;
|
evq->eventq = NULL;
|
||||||
}
|
}
|
||||||
@@ -391,7 +391,7 @@ npl_freertos_mutex_deinit(struct ble_npl_mutex *mu)
|
|||||||
#if OS_MEM_ALLOC
|
#if OS_MEM_ALLOC
|
||||||
os_memblock_put(&ble_freertos_mutex_pool,mutex);
|
os_memblock_put(&ble_freertos_mutex_pool,mutex);
|
||||||
#else
|
#else
|
||||||
bt_osi_mem_free((void *)mutex);
|
bt_osi_mem_free_internal((void *)mutex);
|
||||||
#endif
|
#endif
|
||||||
mu->mutex = NULL;
|
mu->mutex = NULL;
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ npl_freertos_sem_deinit(struct ble_npl_sem *sem)
|
|||||||
#if OS_MEM_ALLOC
|
#if OS_MEM_ALLOC
|
||||||
os_memblock_put(&ble_freertos_sem_pool,semaphore);
|
os_memblock_put(&ble_freertos_sem_pool,semaphore);
|
||||||
#else
|
#else
|
||||||
bt_osi_mem_free((void *)semaphore);
|
bt_osi_mem_free_internal((void *)semaphore);
|
||||||
#endif
|
#endif
|
||||||
sem->sem = NULL;
|
sem->sem = NULL;
|
||||||
|
|
||||||
@@ -707,7 +707,7 @@ npl_freertos_callout_init(struct ble_npl_callout *co, struct ble_npl_eventq *evq
|
|||||||
|
|
||||||
if (esp_timer_create(&create_args, &callout->handle) != ESP_OK) {
|
if (esp_timer_create(&create_args, &callout->handle) != ESP_OK) {
|
||||||
ble_npl_event_deinit(&callout->ev);
|
ble_npl_event_deinit(&callout->ev);
|
||||||
bt_osi_mem_free((void *)callout);
|
bt_osi_mem_free_internal((void *)callout);
|
||||||
co->co = NULL;
|
co->co = NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -716,7 +716,7 @@ npl_freertos_callout_init(struct ble_npl_callout *co, struct ble_npl_eventq *evq
|
|||||||
|
|
||||||
if (!callout->handle) {
|
if (!callout->handle) {
|
||||||
ble_npl_event_deinit(&callout->ev);
|
ble_npl_event_deinit(&callout->ev);
|
||||||
bt_osi_mem_free((void *)callout);
|
bt_osi_mem_free_internal((void *)callout);
|
||||||
co->co = NULL;
|
co->co = NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -764,7 +764,7 @@ npl_freertos_callout_deinit(struct ble_npl_callout *co)
|
|||||||
#if OS_MEM_ALLOC
|
#if OS_MEM_ALLOC
|
||||||
os_memblock_put(&ble_freertos_co_pool,callout);
|
os_memblock_put(&ble_freertos_co_pool,callout);
|
||||||
#else
|
#else
|
||||||
bt_osi_mem_free((void *)callout);
|
bt_osi_mem_free_internal((void *)callout);
|
||||||
#endif // OS_MEM_ALLOC
|
#endif // OS_MEM_ALLOC
|
||||||
co->co = NULL;
|
co->co = NULL;
|
||||||
memset(co, 0, sizeof(struct ble_npl_callout));
|
memset(co, 0, sizeof(struct ble_npl_callout));
|
||||||
@@ -1203,27 +1203,27 @@ int npl_freertos_mempool_init(void)
|
|||||||
return 0;
|
return 0;
|
||||||
_error:
|
_error:
|
||||||
if (ble_freertos_ev_buf) {
|
if (ble_freertos_ev_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_ev_buf);
|
bt_osi_mem_free_internal(ble_freertos_ev_buf);
|
||||||
ble_freertos_ev_buf = NULL;
|
ble_freertos_ev_buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ble_freertos_evq_buf) {
|
if (ble_freertos_evq_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_evq_buf);
|
bt_osi_mem_free_internal(ble_freertos_evq_buf);
|
||||||
ble_freertos_evq_buf = NULL;
|
ble_freertos_evq_buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ble_freertos_co_buf) {
|
if (ble_freertos_co_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_co_buf);
|
bt_osi_mem_free_internal(ble_freertos_co_buf);
|
||||||
ble_freertos_co_buf = NULL;
|
ble_freertos_co_buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ble_freertos_sem_buf) {
|
if (ble_freertos_sem_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_sem_buf);
|
bt_osi_mem_free_internal(ble_freertos_sem_buf);
|
||||||
ble_freertos_sem_buf = NULL;
|
ble_freertos_sem_buf = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ble_freertos_mutex_buf) {
|
if (ble_freertos_mutex_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_mutex_buf);
|
bt_osi_mem_free_internal(ble_freertos_mutex_buf);
|
||||||
ble_freertos_mutex_buf = NULL;
|
ble_freertos_mutex_buf = NULL;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
@@ -1232,23 +1232,23 @@ _error:
|
|||||||
void npl_freertos_mempool_deinit(void)
|
void npl_freertos_mempool_deinit(void)
|
||||||
{
|
{
|
||||||
if (ble_freertos_ev_buf) {
|
if (ble_freertos_ev_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_ev_buf);
|
bt_osi_mem_free_internal(ble_freertos_ev_buf);
|
||||||
ble_freertos_ev_buf = NULL;
|
ble_freertos_ev_buf = NULL;
|
||||||
}
|
}
|
||||||
if (ble_freertos_evq_buf) {
|
if (ble_freertos_evq_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_evq_buf);
|
bt_osi_mem_free_internal(ble_freertos_evq_buf);
|
||||||
ble_freertos_evq_buf = NULL;
|
ble_freertos_evq_buf = NULL;
|
||||||
}
|
}
|
||||||
if (ble_freertos_co_buf) {
|
if (ble_freertos_co_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_co_buf);
|
bt_osi_mem_free_internal(ble_freertos_co_buf);
|
||||||
ble_freertos_co_buf = NULL;
|
ble_freertos_co_buf = NULL;
|
||||||
}
|
}
|
||||||
if (ble_freertos_sem_buf) {
|
if (ble_freertos_sem_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_sem_buf);
|
bt_osi_mem_free_internal(ble_freertos_sem_buf);
|
||||||
ble_freertos_sem_buf = NULL;
|
ble_freertos_sem_buf = NULL;
|
||||||
}
|
}
|
||||||
if (ble_freertos_mutex_buf) {
|
if (ble_freertos_mutex_buf) {
|
||||||
bt_osi_mem_free(ble_freertos_mutex_buf);
|
bt_osi_mem_free_internal(ble_freertos_mutex_buf);
|
||||||
ble_freertos_mutex_buf = NULL;
|
ble_freertos_mutex_buf = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1256,7 +1256,7 @@ void npl_freertos_mempool_deinit(void)
|
|||||||
void npl_freertos_funcs_deinit(void)
|
void npl_freertos_funcs_deinit(void)
|
||||||
{
|
{
|
||||||
if (npl_funcs) {
|
if (npl_funcs) {
|
||||||
bt_osi_mem_free(npl_funcs);
|
bt_osi_mem_free_internal(npl_funcs);
|
||||||
}
|
}
|
||||||
npl_funcs = NULL;
|
npl_funcs = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user