1. Reduce the size of the heap memory 2. Change the TCP segment size 3. Disable UDP + DHCP + DNS 4. Change the configuration of the TCP/IP thread

Dependents:   EthernetInterface

Fork of lwip by mbed official

Committer:
aos
Date:
Thu Feb 13 17:57:50 2014 +0000
Revision:
16:f159c25d9261
Parent:
15:5737291d43a8
Update the heap memory size

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 6:00bf89892c76 1 /* Copyright (C) 2012 mbed.org, MIT License
emilmont 6:00bf89892c76 2 *
emilmont 6:00bf89892c76 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
emilmont 6:00bf89892c76 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
emilmont 6:00bf89892c76 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
emilmont 6:00bf89892c76 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
emilmont 6:00bf89892c76 7 * furnished to do so, subject to the following conditions:
emilmont 6:00bf89892c76 8 *
emilmont 6:00bf89892c76 9 * The above copyright notice and this permission notice shall be included in all copies or
emilmont 6:00bf89892c76 10 * substantial portions of the Software.
emilmont 6:00bf89892c76 11 *
emilmont 6:00bf89892c76 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
emilmont 6:00bf89892c76 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
emilmont 6:00bf89892c76 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
emilmont 6:00bf89892c76 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
emilmont 6:00bf89892c76 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
emilmont 6:00bf89892c76 17 */
emilmont 6:00bf89892c76 18
emilmont 6:00bf89892c76 19 #ifndef LWIPOPTS_H
emilmont 6:00bf89892c76 20 #define LWIPOPTS_H
emilmont 6:00bf89892c76 21
emilmont 6:00bf89892c76 22 #include "lwipopts_conf.h"
emilmont 6:00bf89892c76 23
emilmont 6:00bf89892c76 24 // Operating System
emilmont 6:00bf89892c76 25 #define NO_SYS 0
emilmont 6:00bf89892c76 26
emilmont 6:00bf89892c76 27 #if NO_SYS == 0
emilmont 6:00bf89892c76 28 #include "cmsis_os.h"
emilmont 6:00bf89892c76 29
bogdanm 12:931deec14b08 30 #define SYS_LIGHTWEIGHT_PROT 1
bogdanm 12:931deec14b08 31
emilmont 6:00bf89892c76 32 #define LWIP_RAW 0
emilmont 6:00bf89892c76 33
bogdanm 11:4b3f6f8b92d2 34 #define TCPIP_MBOX_SIZE 8
bogdanm 11:4b3f6f8b92d2 35 #define DEFAULT_TCP_RECVMBOX_SIZE 8
bogdanm 11:4b3f6f8b92d2 36 #define DEFAULT_UDP_RECVMBOX_SIZE 8
bogdanm 11:4b3f6f8b92d2 37 #define DEFAULT_RAW_RECVMBOX_SIZE 8
bogdanm 11:4b3f6f8b92d2 38 #define DEFAULT_ACCEPTMBOX_SIZE 8
emilmont 6:00bf89892c76 39
aos 15:5737291d43a8 40 //#define TCPIP_THREAD_STACKSIZE 1024
aos 15:5737291d43a8 41 #define TCPIP_THREAD_STACKSIZE 512
bogdanm 11:4b3f6f8b92d2 42 #define TCPIP_THREAD_PRIO (osPriorityNormal)
emilmont 6:00bf89892c76 43
aos 15:5737291d43a8 44 //#define DEFAULT_THREAD_STACKSIZE 512
aos 15:5737291d43a8 45 #define DEFAULT_THREAD_STACKSIZE 300
emilmont 6:00bf89892c76 46
emilmont 6:00bf89892c76 47 #define MEMP_NUM_SYS_TIMEOUT 16
emilmont 6:00bf89892c76 48 #endif
emilmont 6:00bf89892c76 49
emilmont 6:00bf89892c76 50 // 32-bit alignment
emilmont 6:00bf89892c76 51 #define MEM_ALIGNMENT 4
emilmont 6:00bf89892c76 52
aos 15:5737291d43a8 53 //#define MEM_SIZE 16362
aos 16:f159c25d9261 54 #define MEM_SIZE (9 * 1024)
emilmont 6:00bf89892c76 55
emilmont 6:00bf89892c76 56 #define PBUF_POOL_SIZE 5
aos 15:5737291d43a8 57 //#define PBUF_POOL_SIZE 16
aos 15:5737291d43a8 58 #define MEMP_NUM_TCP_PCB_LISTEN 2
aos 15:5737291d43a8 59 #define MEMP_NUM_TCP_PCB 1
aos 15:5737291d43a8 60 //#define MEMP_NUM_PBUF 8
aos 15:5737291d43a8 61 #define MEMP_NUM_PBUF 5
emilmont 6:00bf89892c76 62
emilmont 6:00bf89892c76 63 #define TCP_QUEUE_OOSEQ 0
emilmont 6:00bf89892c76 64 #define TCP_OVERSIZE 0
emilmont 6:00bf89892c76 65
aos 15:5737291d43a8 66 //#define LWIP_DHCP 1
aos 15:5737291d43a8 67 //#define LWIP_DNS 1
aos 15:5737291d43a8 68 #define LWIP_DHCP 0
aos 15:5737291d43a8 69 #define LWIP_DNS 0
emilmont 6:00bf89892c76 70
emilmont 8:f9d0ac9dd036 71 // Support Multicast
aos 15:5737291d43a8 72 //#include "stdlib.h"
aos 15:5737291d43a8 73 //#define LWIP_IGMP 1
aos 15:5737291d43a8 74 #define LWIP_IGMP 0
aos 15:5737291d43a8 75 //#define LWIP_RAND() rand()
emilmont 8:f9d0ac9dd036 76
emilmont 6:00bf89892c76 77 #define LWIP_COMPAT_SOCKETS 0
emilmont 6:00bf89892c76 78 #define LWIP_POSIX_SOCKETS_IO_NAMES 0
emilmont 6:00bf89892c76 79 #define LWIP_SO_RCVTIMEO 1
emilmont 6:00bf89892c76 80 #define LWIP_TCP_KEEPALIVE 1
emilmont 6:00bf89892c76 81
emilmont 6:00bf89892c76 82 // Debug Options
emilmont 6:00bf89892c76 83 // #define LWIP_DEBUG
emilmont 6:00bf89892c76 84 #define UDP_LPC_EMAC LWIP_DBG_OFF
emilmont 6:00bf89892c76 85 #define SYS_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 86 #define PPP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 87 #define IP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 88 #define MEM_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 89 #define MEMP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 90 #define PBUF_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 91 #define API_LIB_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 92 #define API_MSG_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 93 #define TCPIP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 94 #define SOCKETS_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 95 #define TCP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 96 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 97 #define TCP_FR_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 98 #define TCP_RTO_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 99 #define TCP_CWND_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 100 #define TCP_WND_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 101 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 102 #define TCP_RST_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 103 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 104 #define ETHARP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 105 #define NETIF_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 106 #define DHCP_DEBUG LWIP_DBG_OFF
emilmont 6:00bf89892c76 107
emilmont 6:00bf89892c76 108 #ifdef LWIP_DEBUG
emilmont 6:00bf89892c76 109 #define MEMP_OVERFLOW_CHECK 1
emilmont 6:00bf89892c76 110 #define MEMP_SANITY_CHECK 1
emilmont 6:00bf89892c76 111 #else
bogdanm 12:931deec14b08 112 #define LWIP_NOASSERT 1
emilmont 6:00bf89892c76 113 #define LWIP_STATS 0
emilmont 6:00bf89892c76 114 #endif
emilmont 6:00bf89892c76 115
emilmont 6:00bf89892c76 116 #define LWIP_PLATFORM_BYTESWAP 1
emilmont 6:00bf89892c76 117
emilmont 6:00bf89892c76 118 #if LWIP_TRANSPORT_ETHERNET
emilmont 6:00bf89892c76 119
emilmont 6:00bf89892c76 120 /* MSS should match the hardware packet size */
aos 15:5737291d43a8 121 //#define TCP_MSS 1460
aos 15:5737291d43a8 122 #define TCP_MSS 560
emilmont 6:00bf89892c76 123 #define TCP_SND_BUF (2 * TCP_MSS)
emilmont 6:00bf89892c76 124 #define TCP_WND (2 * TCP_MSS)
aos 15:5737291d43a8 125 //#define TCP_SND_BUF (4 * TCP_MSS)
aos 15:5737291d43a8 126 //#define TCP_WND 4096
emilmont 6:00bf89892c76 127 #define TCP_SND_QUEUELEN (2 * TCP_SND_BUF/TCP_MSS)
aos 15:5737291d43a8 128 //#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
emilmont 6:00bf89892c76 129
emilmont 6:00bf89892c76 130 // Broadcast
emilmont 6:00bf89892c76 131 #define IP_SOF_BROADCAST 1
emilmont 6:00bf89892c76 132 #define IP_SOF_BROADCAST_RECV 1
emilmont 6:00bf89892c76 133
emilmont 6:00bf89892c76 134 #define LWIP_BROADCAST_PING 1
emilmont 6:00bf89892c76 135
emilmont 6:00bf89892c76 136 #define LWIP_CHECKSUM_ON_COPY 1
emilmont 6:00bf89892c76 137
emilmont 6:00bf89892c76 138 #define LWIP_NETIF_HOSTNAME 1
emilmont 6:00bf89892c76 139 #define LWIP_NETIF_STATUS_CALLBACK 1
emilmont 7:b061c4dba951 140 #define LWIP_NETIF_LINK_CALLBACK 1
emilmont 6:00bf89892c76 141
emilmont 6:00bf89892c76 142 #elif LWIP_TRANSPORT_PPP
emilmont 6:00bf89892c76 143
emilmont 6:00bf89892c76 144 #define TCP_SND_BUF (3 * 536)
emilmont 6:00bf89892c76 145 #define TCP_WND (2 * 536)
emilmont 6:00bf89892c76 146
emilmont 6:00bf89892c76 147 #define LWIP_ARP 0
emilmont 6:00bf89892c76 148
emilmont 6:00bf89892c76 149 #define PPP_SUPPORT 1
emilmont 6:00bf89892c76 150 #define CHAP_SUPPORT 1
emilmont 6:00bf89892c76 151 #define PAP_SUPPORT 1
emilmont 6:00bf89892c76 152 #define PPP_THREAD_STACKSIZE 4*192
emilmont 6:00bf89892c76 153 #define PPP_THREAD_PRIO 0
emilmont 6:00bf89892c76 154
emilmont 6:00bf89892c76 155 #define MAXNAMELEN 64 /* max length of hostname or name for auth */
emilmont 6:00bf89892c76 156 #define MAXSECRETLEN 64
emilmont 6:00bf89892c76 157
emilmont 6:00bf89892c76 158 #else
emilmont 6:00bf89892c76 159 #error A transport mechanism (Ethernet or PPP) must be defined
emilmont 6:00bf89892c76 160 #endif
emilmont 6:00bf89892c76 161
emilmont 6:00bf89892c76 162 #endif /* LWIPOPTS_H_ */