How to enable memory pools is lwip?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to enable memory pools is lwip?

Jump to solution
1,726 Views
freddy_ben-zeev
Contributor IV

I've tried to set MEM_USE_POOLS to 1 - it complains that it also needs MEMP_USE_CUSTOM_POOLS. I've set MEMP_USE_CUSTOM_POOLS also to 1, it fails to compile memp_priv.h in this section:

typedef enum {
/* Get the first (via:
MEMP_POOL_HELPER_START = ((u8_t) 1*MEMP_POOL_A + 0*MEMP_POOL_B + 0*MEMP_POOL_C + 0)*/
MEMP_POOL_HELPER_FIRST = ((u8_t)
#define LWIP_MEMPOOL(name,num,size,desc)
#define LWIP_MALLOC_MEMPOOL_START 1
#define LWIP_MALLOC_MEMPOOL(num, size) * MEMP_POOL_##size + 0
#define LWIP_MALLOC_MEMPOOL_END
#include "lwip/priv/memp_std.h"
) ,
/* Get the last (via:
MEMP_POOL_HELPER_END = ((u8_t) 0 + MEMP_POOL_A*0 + MEMP_POOL_B*0 + MEMP_POOL_C*1) */
MEMP_POOL_HELPER_LAST = ((u8_t)
#define LWIP_MEMPOOL(name,num,size,desc)
#define LWIP_MALLOC_MEMPOOL_START
#define LWIP_MALLOC_MEMPOOL(num, size) 0 + MEMP_POOL_##size *
#define LWIP_MALLOC_MEMPOOL_END 1
#include "lwip/priv/memp_std.h"
)
} memp_pool_helper_t;


Any ideas?

Freddy

Tags (2)
0 Kudos
1 Solution
1,516 Views
freddy_ben-zeev
Contributor IV

Found the problem...

The file lwippools.h (generated by ProcessorExpert). starts with:
#ifndef LWIP_LWIPPOOLS_H
#define LWIP_LWIPPOOLS_H
And ends with:
#endif /* LWIP_LWIPPOOLS_H */
Unfortunately this file needs to be included multiple times to create the pools.
Please remove (or comment out) those three lines.

This would not have happened if I didn't used ProcessorExpert generated file as my starting point (the generated file do not use memory pools).

Freddy

View solution in original post

0 Kudos
1 Reply
1,517 Views
freddy_ben-zeev
Contributor IV

Found the problem...

The file lwippools.h (generated by ProcessorExpert). starts with:
#ifndef LWIP_LWIPPOOLS_H
#define LWIP_LWIPPOOLS_H
And ends with:
#endif /* LWIP_LWIPPOOLS_H */
Unfortunately this file needs to be included multiple times to create the pools.
Please remove (or comment out) those three lines.

This would not have happened if I didn't used ProcessorExpert generated file as my starting point (the generated file do not use memory pools).

Freddy

0 Kudos