]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lwip.git/commitdiff
Use FreeRTOS heap instead of LwIP heap master personal/nejedjak/master personal/sojka/for-master
authorJakub <nejedjak@fel.cvut.cz>
Sun, 1 Sep 2019 18:51:04 +0000 (20:51 +0200)
committerJakub <nejedjak@fel.cvut.cz>
Sun, 1 Sep 2019 18:51:04 +0000 (20:51 +0200)
To better memory division on system with low RAM memory is
used 1 shared heap. To external mode is necessary to
allocate a lot of memory. This approach work better with
shared heap.

src/api/tcpip.c
src/include/lwip/mem.h
src/include/lwip/opt.h

index 7c1c9cad17965f5d63042d4e47d7341b2f4357aa..4fdd7f1f6a7b94b21e4f310074e9f58512f2120c 100644 (file)
@@ -486,7 +486,7 @@ pbuf_free_callback(struct pbuf *p)
 err_t
 mem_free_callback(void *m)
 {
-  return tcpip_callback_with_block(mem_free, m, 0);
+  return tcpip_callback_with_block(vPortFree, m, 0);
 }
 
 #endif /* !NO_SYS */
index 5bb906b63fe43bb25cbcb5f1b35c4528fb16956f..cc13611f3fb366c8465d61d519dd5a41c5f88fbf 100644 (file)
@@ -50,11 +50,13 @@ typedef size_t mem_size_t;
 /* in case C library malloc() needs extra protection,
  * allow these defines to be overridden.
  */
+extern void vPortFree( void *pv );
+extern void *pvPortMalloc( size_t xWantedSize );
 #ifndef mem_free
-#define mem_free free
+#define mem_free( pv ) vPortFree( pv )
 #endif
 #ifndef mem_malloc
-#define mem_malloc malloc
+#define mem_malloc( size ) pvPortMalloc( size )
 #endif
 #ifndef mem_calloc
 #define mem_calloc calloc
index 3b07b0416a4eb4367c086c1e524bcda7dd66cf6c..3f71da8834fba465126128cad714f4c5229e9828 100644 (file)
  * already use it.
  */
 #ifndef MEM_LIBC_MALLOC
-#define MEM_LIBC_MALLOC                 0
+#define MEM_LIBC_MALLOC                 1
 #endif
 
 /**
 * speed and usage from interrupts!
 */
 #ifndef MEMP_MEM_MALLOC
-#define MEMP_MEM_MALLOC                 0
+#define MEMP_MEM_MALLOC                 1
 #endif
 
 /**