LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lwipopts.h
Go to the documentation of this file.
1 /*
2  * @brief LWIP build option override file
3  *
4  * @note
5  * Copyright(C) NXP Semiconductors, 2012
6  * All rights reserved.
7  *
8  * @par
9  * Software that is described herein is for illustrative purposes only
10  * which provides customers with programming information regarding the
11  * LPC products. This software is supplied "AS IS" without any warranties of
12  * any kind, and NXP Semiconductors and its licensor disclaim any and
13  * all warranties, express or implied, including all implied warranties of
14  * merchantability, fitness for a particular purpose and non-infringement of
15  * intellectual property rights. NXP Semiconductors assumes no responsibility
16  * or liability for the use of the software, conveys no license or rights under any
17  * patent, copyright, mask work right, or any other intellectual property rights in
18  * or to any products. NXP Semiconductors reserves the right to make changes
19  * in the software without notification. NXP Semiconductors also makes no
20  * representation or warranty that such application will be suitable for the
21  * specified use without further testing or modification.
22  *
23  * @par
24  * Permission to use, copy, modify, and distribute this software and its
25  * documentation is hereby granted, under NXP Semiconductors' and its
26  * licensor's relevant copyrights in the software, without fee, provided that it
27  * is used in conjunction with NXP Semiconductors microcontrollers. This
28  * copyright, permission, and disclaimer notice must appear in all copies of
29  * this code.
30  */
31 
32 #ifndef __LWIPOPTS_H_
33 #define __LWIPOPTS_H_
34 
35 /* Standalone build */
36 #define NO_SYS 1
37 
38 //#define LWIP_DEBUG 1
39 #define LPC_TX_PBUF_BOUNCE_EN 1
40 //#define HTTPD_DEBUG LWIP_DBG_ON
41 
42 /* Use LWIP timers */
43 #define NO_SYS_NO_TIMERS 0
44 
45 #define LWIP_HTTPD_DYNAMIC_HEADERS 1
46 
47 /* Need for memory protection */
48 #define SYS_LIGHTWEIGHT_PROT 0
49 
50 /* 32-bit alignment */
51 #define MEM_ALIGNMENT 4
52 
53 /* pbuf buffers in pool. In zero-copy mode, these buffers are
54  located in peripheral RAM. In copied mode, they are located in
55  internal IRAM */
56 #define PBUF_POOL_SIZE 7
57 
58 /* No padding needed */
59 #define ETH_PAD_SIZE 0
60 
61 #define IP_SOF_BROADCAST 1
62 #define IP_SOF_BROADCAST_RECV 1
63 
64 /* The ethernet FCS is performed in hardware. The IP, TCP, and UDP
65  CRCs still need to be done in hardware. */
66 #define CHECKSUM_GEN_IP 1
67 #define CHECKSUM_GEN_UDP 1
68 #define CHECKSUM_GEN_TCP 1
69 #define CHECKSUM_CHECK_IP 1
70 #define CHECKSUM_CHECK_UDP 1
71 #define CHECKSUM_CHECK_TCP 1
72 #define LWIP_CHECKSUM_ON_COPY 1
73 
74 /* Use LWIP version of htonx() to allow generic functionality across
75  all platforms. If you are using the Cortex Mx devices, you might
76  be able to use the Cortex __rev instruction instead. */
77 #define LWIP_PLATFORM_BYTESWAP 0
78 
79 /* Non-static memory, used with DMA pool */
80 #define MEM_SIZE (12 * 1024)
81 
82 /* Raw interface not needed */
83 #define LWIP_RAW 1
84 
85 /* DHCP is ok, UDP is required with DHCP */
86 #define LWIP_DHCP 1
87 #define LWIP_UDP 1
88 
89 /* Hostname can be used */
90 #define LWIP_NETIF_HOSTNAME 1
91 
92 #define LWIP_BROADCAST_PING 1
93 
94 /* MSS should match the hardware packet size */
95 #define TCP_MSS 1460
96 #define TCP_SND_BUF (2 * TCP_MSS)
97 
98 #define LWIP_SOCKET 0
99 #define LWIP_NETCONN 0
100 #define MEMP_NUM_SYS_TIMEOUT 300
101 
102 #define LWIP_STATS 0
103 #define LINK_STATS 0
104 #define LWIP_STATS_DISPLAY 0
105 
106 /* There are more *_DEBUG options that can be selected.
107  See opts.h. Make sure that LWIP_DEBUG is defined when
108  building the code to use debug. */
109 #define TCP_DEBUG LWIP_DBG_OFF
110 #define ETHARP_DEBUG LWIP_DBG_OFF
111 #define PBUF_DEBUG LWIP_DBG_OFF
112 #define IP_DEBUG LWIP_DBG_OFF
113 #define TCPIP_DEBUG LWIP_DBG_OFF
114 #define DHCP_DEBUG LWIP_DBG_OFF
115 #define UDP_DEBUG LWIP_DBG_OFF
116 
117 /* This define is custom for the LPC EMAC driver. Enabled it to
118  get debug messages for the driver. */
119 #define EMAC_DEBUG LWIP_DBG_OFF
120 
121 #define MEM_LIBC_MALLOC 1
122 #define MEMP_MEM_MALLOC 1
123 
124 /* Needed for malloc/free */
125 #include <stdlib.h>
126 
127 #endif /* __LWIPOPTS_H_ */