2121#include "esp_log.h"
2222#include "soc/soc_caps.h"
2323#include "esp_bt.h"
24+ #include "bt_osi_mem.h"
2425
2526portMUX_TYPE ble_port_mutex = portMUX_INITIALIZER_UNLOCKED ;
2627
@@ -95,7 +96,7 @@ IRAM_ATTR npl_freertos_event_init(struct ble_npl_event *ev, ble_npl_event_fn *fn
9596 }
9697#else
9798 if (!ev -> event ) {
98- ev -> event = malloc (sizeof (struct ble_npl_event_freertos ));
99+ ev -> event = bt_osi_mem_malloc_internal (sizeof (struct ble_npl_event_freertos ));
99100 }
100101#endif
101102 event = (struct ble_npl_event_freertos * )ev -> event ;
@@ -113,7 +114,7 @@ IRAM_ATTR npl_freertos_event_deinit(struct ble_npl_event *ev)
113114#if OS_MEM_ALLOC
114115 os_memblock_put (& ble_freertos_ev_pool ,ev -> event );
115116#else
116- free (ev -> event );
117+ bt_osi_mem_free (ev -> event );
117118#endif
118119 ev -> event = NULL ;
119120}
@@ -144,7 +145,7 @@ npl_freertos_eventq_init(struct ble_npl_eventq *evq)
144145 }
145146#else
146147 if (!evq -> eventq ) {
147- evq -> eventq = malloc (sizeof (struct ble_npl_eventq_freertos ));
148+ evq -> eventq = bt_osi_mem_malloc_internal (sizeof (struct ble_npl_eventq_freertos ));
148149 eventq = (struct ble_npl_eventq_freertos * )evq -> eventq ;
149150 BLE_LL_ASSERT (eventq );
150151 memset (eventq , 0 , sizeof (* eventq ));
@@ -167,7 +168,7 @@ npl_freertos_eventq_deinit(struct ble_npl_eventq *evq)
167168#if OS_MEM_ALLOC
168169 os_memblock_put (& ble_freertos_evq_pool ,eventq );
169170#else
170- free ((void * )eventq );
171+ bt_osi_mem_free ((void * )eventq );
171172#endif
172173 evq -> eventq = NULL ;
173174}
@@ -357,7 +358,7 @@ npl_freertos_mutex_init(struct ble_npl_mutex *mu)
357358 }
358359#else
359360 if (!mu -> mutex ) {
360- mu -> mutex = malloc (sizeof (struct ble_npl_mutex_freertos ));
361+ mu -> mutex = bt_osi_mem_malloc_internal (sizeof (struct ble_npl_mutex_freertos ));
361362 mutex = (struct ble_npl_mutex_freertos * )mu -> mutex ;
362363
363364 if (!mutex ) {
@@ -388,7 +389,7 @@ npl_freertos_mutex_deinit(struct ble_npl_mutex *mu)
388389#if OS_MEM_ALLOC
389390 os_memblock_put (& ble_freertos_mutex_pool ,mutex );
390391#else
391- free ((void * )mutex );
392+ bt_osi_mem_free ((void * )mutex );
392393#endif
393394 mu -> mutex = NULL ;
394395
@@ -494,7 +495,7 @@ npl_freertos_sem_init(struct ble_npl_sem *sem, uint16_t tokens)
494495 }
495496#else
496497 if (!sem -> sem ) {
497- sem -> sem = malloc (sizeof (struct ble_npl_sem_freertos ));
498+ sem -> sem = bt_osi_mem_malloc_internal (sizeof (struct ble_npl_sem_freertos ));
498499 semaphore = (struct ble_npl_sem_freertos * )sem -> sem ;
499500
500501 if (!semaphore ) {
@@ -525,7 +526,7 @@ npl_freertos_sem_deinit(struct ble_npl_sem *sem)
525526#if OS_MEM_ALLOC
526527 os_memblock_put (& ble_freertos_sem_pool ,semaphore );
527528#else
528- free ((void * )semaphore );
529+ bt_osi_mem_free ((void * )semaphore );
529530#endif
530531 sem -> sem = NULL ;
531532
@@ -684,7 +685,7 @@ npl_freertos_callout_init(struct ble_npl_callout *co, struct ble_npl_eventq *evq
684685#else
685686
686687 if (!co -> co ) {
687- co -> co = malloc (sizeof (struct ble_npl_callout_freertos ));
688+ co -> co = bt_osi_mem_malloc_internal (sizeof (struct ble_npl_callout_freertos ));
688689 callout = (struct ble_npl_callout_freertos * )co -> co ;
689690 if (!callout ) {
690691 return -1 ;
@@ -704,7 +705,7 @@ npl_freertos_callout_init(struct ble_npl_callout *co, struct ble_npl_eventq *evq
704705
705706 if (esp_timer_create (& create_args , & callout -> handle ) != ESP_OK ) {
706707 ble_npl_event_deinit (& callout -> ev );
707- free ((void * )callout );
708+ bt_osi_mem_free ((void * )callout );
708709 co -> co = NULL ;
709710 return -1 ;
710711 }
@@ -713,7 +714,7 @@ npl_freertos_callout_init(struct ble_npl_callout *co, struct ble_npl_eventq *evq
713714
714715 if (!callout -> handle ) {
715716 ble_npl_event_deinit (& callout -> ev );
716- free ((void * )callout );
717+ bt_osi_mem_free ((void * )callout );
717718 co -> co = NULL ;
718719 return -1 ;
719720 }
@@ -761,7 +762,7 @@ npl_freertos_callout_deinit(struct ble_npl_callout *co)
761762#if OS_MEM_ALLOC
762763 os_memblock_put (& ble_freertos_co_pool ,callout );
763764#else
764- free ((void * )callout );
765+ bt_osi_mem_free ((void * )callout );
765766#endif // OS_MEM_ALLOC
766767 co -> co = NULL ;
767768 memset (co , 0 , sizeof (struct ble_npl_callout ));
@@ -1089,7 +1090,7 @@ struct npl_funcs_t * npl_freertos_funcs_get(void)
10891090
10901091void npl_freertos_funcs_init (void )
10911092{
1092- npl_funcs = (struct npl_funcs_t * )malloc (sizeof (struct npl_funcs_t ));
1093+ npl_funcs = (struct npl_funcs_t * )bt_osi_mem_malloc_internal (sizeof (struct npl_funcs_t ));
10931094 if (!npl_funcs ) {
10941095 printf ("npl funcs init failed\n" );
10951096 assert (0 );
@@ -1123,7 +1124,7 @@ int npl_freertos_mempool_init(void)
11231124 ble_freertos_total_event_cnt = ble_total_evt_count ;
11241125
11251126 if (ble_total_evt_count ) {
1126- ble_freertos_ev_buf = malloc (OS_MEMPOOL_SIZE (ble_total_evt_count ,
1127+ ble_freertos_ev_buf = bt_osi_mem_malloc_internal (OS_MEMPOOL_SIZE (ble_total_evt_count ,
11271128 sizeof (struct ble_npl_event_freertos )) *
11281129 sizeof (os_membuf_t ));
11291130 if (!ble_freertos_ev_buf ) {
@@ -1138,7 +1139,7 @@ int npl_freertos_mempool_init(void)
11381139 }
11391140
11401141 if (ble_total_evtq_count ) {
1141- ble_freertos_evq_buf = malloc (OS_MEMPOOL_SIZE (ble_total_evtq_count ,
1142+ ble_freertos_evq_buf = bt_osi_mem_malloc_internal (OS_MEMPOOL_SIZE (ble_total_evtq_count ,
11421143 sizeof (struct ble_npl_eventq_freertos )) *
11431144 sizeof (os_membuf_t ));
11441145 if (!ble_freertos_evq_buf ) {
@@ -1153,7 +1154,7 @@ int npl_freertos_mempool_init(void)
11531154 }
11541155
11551156 if (ble_total_co_count ) {
1156- ble_freertos_co_buf = malloc (OS_MEMPOOL_SIZE (ble_total_co_count ,
1157+ ble_freertos_co_buf = bt_osi_mem_malloc_internal (OS_MEMPOOL_SIZE (ble_total_co_count ,
11571158 sizeof (struct ble_npl_callout_freertos )) *
11581159 sizeof (os_membuf_t ));
11591160 if (!ble_freertos_co_buf ) {
@@ -1168,7 +1169,7 @@ int npl_freertos_mempool_init(void)
11681169 }
11691170
11701171 if (ble_total_sem_count ) {
1171- ble_freertos_sem_buf = malloc (OS_MEMPOOL_SIZE (ble_total_sem_count ,
1172+ ble_freertos_sem_buf = bt_osi_mem_malloc_internal (OS_MEMPOOL_SIZE (ble_total_sem_count ,
11721173 sizeof (struct ble_npl_sem_freertos )) *
11731174 sizeof (os_membuf_t ));
11741175 if (!ble_freertos_sem_buf ) {
@@ -1183,7 +1184,7 @@ int npl_freertos_mempool_init(void)
11831184 }
11841185
11851186 if (ble_total_mutex_count ) {
1186- ble_freertos_mutex_buf = malloc (OS_MEMPOOL_SIZE (ble_total_mutex_count ,
1187+ ble_freertos_mutex_buf = bt_osi_mem_malloc_internal (OS_MEMPOOL_SIZE (ble_total_mutex_count ,
11871188 sizeof (struct ble_npl_mutex_freertos )) *
11881189 sizeof (os_membuf_t ));
11891190 if (!ble_freertos_mutex_buf ) {
@@ -1200,27 +1201,27 @@ int npl_freertos_mempool_init(void)
12001201 return 0 ;
12011202_error :
12021203 if (ble_freertos_ev_buf ) {
1203- free (ble_freertos_ev_buf );
1204+ bt_osi_mem_free (ble_freertos_ev_buf );
12041205 ble_freertos_ev_buf = NULL ;
12051206 }
12061207
12071208 if (ble_freertos_evq_buf ) {
1208- free (ble_freertos_evq_buf );
1209+ bt_osi_mem_free (ble_freertos_evq_buf );
12091210 ble_freertos_evq_buf = NULL ;
12101211 }
12111212
12121213 if (ble_freertos_co_buf ) {
1213- free (ble_freertos_co_buf );
1214+ bt_osi_mem_free (ble_freertos_co_buf );
12141215 ble_freertos_co_buf = NULL ;
12151216 }
12161217
12171218 if (ble_freertos_sem_buf ) {
1218- free (ble_freertos_sem_buf );
1219+ bt_osi_mem_free (ble_freertos_sem_buf );
12191220 ble_freertos_sem_buf = NULL ;
12201221 }
12211222
12221223 if (ble_freertos_mutex_buf ) {
1223- free (ble_freertos_mutex_buf );
1224+ bt_osi_mem_free (ble_freertos_mutex_buf );
12241225 ble_freertos_mutex_buf = NULL ;
12251226 }
12261227 return -1 ;
@@ -1229,31 +1230,31 @@ int npl_freertos_mempool_init(void)
12291230void npl_freertos_mempool_deinit (void )
12301231{
12311232 if (ble_freertos_ev_buf ) {
1232- free (ble_freertos_ev_buf );
1233+ bt_osi_mem_free (ble_freertos_ev_buf );
12331234 ble_freertos_ev_buf = NULL ;
12341235 }
12351236 if (ble_freertos_evq_buf ) {
1236- free (ble_freertos_evq_buf );
1237+ bt_osi_mem_free (ble_freertos_evq_buf );
12371238 ble_freertos_evq_buf = NULL ;
12381239 }
12391240 if (ble_freertos_co_buf ) {
1240- free (ble_freertos_co_buf );
1241+ bt_osi_mem_free (ble_freertos_co_buf );
12411242 ble_freertos_co_buf = NULL ;
12421243 }
12431244 if (ble_freertos_sem_buf ) {
1244- free (ble_freertos_sem_buf );
1245+ bt_osi_mem_free (ble_freertos_sem_buf );
12451246 ble_freertos_sem_buf = NULL ;
12461247 }
12471248 if (ble_freertos_mutex_buf ) {
1248- free (ble_freertos_mutex_buf );
1249+ bt_osi_mem_free (ble_freertos_mutex_buf );
12491250 ble_freertos_mutex_buf = NULL ;
12501251 }
12511252}
12521253
12531254void npl_freertos_funcs_deinit (void )
12541255{
12551256 if (npl_funcs ) {
1256- free (npl_funcs );
1257+ bt_osi_mem_free (npl_funcs );
12571258 }
12581259 npl_funcs = NULL ;
12591260}
0 commit comments