diff --git a/features/FEATURE_LWIP/lwip-interface/lwipopts.h b/features/FEATURE_LWIP/lwip-interface/lwipopts.h index 9bf0a20328..b652165350 100644 --- a/features/FEATURE_LWIP/lwip-interface/lwipopts.h +++ b/features/FEATURE_LWIP/lwip-interface/lwipopts.h @@ -80,18 +80,28 @@ #define DEFAULT_RAW_RECVMBOX_SIZE 8 #define DEFAULT_ACCEPTMBOX_SIZE 8 +// Thread stack size for lwip tcpip thread +#ifndef MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE +#define MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE 1200 +#endif + #ifdef LWIP_DEBUG -#define TCPIP_THREAD_STACKSIZE 1200*2 +#define TCPIP_THREAD_STACKSIZE MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE*2 #else -#define TCPIP_THREAD_STACKSIZE 1200 +#define TCPIP_THREAD_STACKSIZE MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE #endif #define TCPIP_THREAD_PRIO (osPriorityNormal) +// Thread stack size for lwip system threads +#ifndef MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE +#define MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE 512 +#endif + #ifdef LWIP_DEBUG -#define DEFAULT_THREAD_STACKSIZE 512*2 +#define DEFAULT_THREAD_STACKSIZE MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE*2 #else -#define DEFAULT_THREAD_STACKSIZE 512 +#define DEFAULT_THREAD_STACKSIZE MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE #endif #define MEMP_NUM_SYS_TIMEOUT 16 diff --git a/features/FEATURE_LWIP/lwip-interface/mbed_lib.json b/features/FEATURE_LWIP/lwip-interface/mbed_lib.json index a594e4e4a0..0ec67b7919 100644 --- a/features/FEATURE_LWIP/lwip-interface/mbed_lib.json +++ b/features/FEATURE_LWIP/lwip-interface/mbed_lib.json @@ -32,6 +32,14 @@ "udp-socket-max": { "help": "Maximum number of open UDPSocket instances allowed, including one used internally for DNS. Each requires 84 bytes of pre-allocated RAM", "value": 4 + }, + "tcpip-thread-stacksize": { + "help": "Stack size for lwip TCPIP thread", + "value": 1200 + }, + "default-thread-stacksize": { + "help": "Stack size for lwip system threads", + "value": 512 } } }