Parcourir la source

Merge branch 'bugfix/wifi_internal_memory_v3.3' into 'release/v3.3'

wifi: Include DMA reserved pool when allocating internal-only memory (v3.3)

See merge request espressif/esp-idf!6628
Angus Gratton il y a 6 ans
Parent
commit
88cf7ed87e
2 fichiers modifiés avec 5 ajouts et 5 suppressions
  1. 1 1
      components/bt/bt.c
  2. 4 4
      components/esp32/esp_adapter.c

+ 1 - 1
components/bt/bt.c

@@ -753,7 +753,7 @@ static int IRAM_ATTR cause_sw_intr_to_core_wrapper(int core_id, int intr_no)
 
 
 static void *malloc_internal_wrapper(size_t size)
 static void *malloc_internal_wrapper(size_t size)
 {
 {
-    return heap_caps_malloc(size, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL);
+    return heap_caps_malloc(size, MALLOC_CAP_8BIT|MALLOC_CAP_DMA|MALLOC_CAP_INTERNAL);
 }
 }
 
 
 static int32_t IRAM_ATTR read_mac_wrapper(uint8_t mac[6])
 static int32_t IRAM_ATTR read_mac_wrapper(uint8_t mac[6])

+ 4 - 4
components/esp32/esp_adapter.c

@@ -404,22 +404,22 @@ static int get_time_wrapper(void *t)
 
 
 static void * IRAM_ATTR malloc_internal_wrapper(size_t size)
 static void * IRAM_ATTR malloc_internal_wrapper(size_t size)
 {
 {
-    return heap_caps_malloc(size, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL);
+    return heap_caps_malloc(size, MALLOC_CAP_8BIT|MALLOC_CAP_DMA|MALLOC_CAP_INTERNAL);
 }
 }
 
 
 static void * IRAM_ATTR realloc_internal_wrapper(void *ptr, size_t size)
 static void * IRAM_ATTR realloc_internal_wrapper(void *ptr, size_t size)
 {
 {
-    return heap_caps_realloc(ptr, size, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL);
+    return heap_caps_realloc(ptr, size, MALLOC_CAP_8BIT|MALLOC_CAP_DMA|MALLOC_CAP_INTERNAL);
 }
 }
 
 
 static void * IRAM_ATTR calloc_internal_wrapper(size_t n, size_t size)
 static void * IRAM_ATTR calloc_internal_wrapper(size_t n, size_t size)
 {
 {
-    return heap_caps_calloc(n, size, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL);
+    return heap_caps_calloc(n, size, MALLOC_CAP_8BIT|MALLOC_CAP_DMA|MALLOC_CAP_INTERNAL);
 }
 }
 
 
 static void * IRAM_ATTR zalloc_internal_wrapper(size_t size)
 static void * IRAM_ATTR zalloc_internal_wrapper(size_t size)
 {
 {
-    void *ptr = heap_caps_calloc(1, size, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL);
+    void *ptr = heap_caps_calloc(1, size, MALLOC_CAP_8BIT|MALLOC_CAP_DMA|MALLOC_CAP_INTERNAL);
     if (ptr) {
     if (ptr) {
         memset(ptr, 0, size);
         memset(ptr, 0, size);
     }
     }