diff options
Diffstat (limited to 'app/lwip/lwipopts.h')
-rw-r--r-- | app/lwip/lwipopts.h | 432 |
1 files changed, 219 insertions, 213 deletions
diff --git a/app/lwip/lwipopts.h b/app/lwip/lwipopts.h index d3c16b6..7d208a3 100644 --- a/app/lwip/lwipopts.h +++ b/app/lwip/lwipopts.h @@ -1,213 +1,219 @@ -/**
- ******************************************************************************
- * @file lwipopts.h
- * @author MCD Application Team
- * @version V1.0.0
- * @date 31-October-2011
- * @brief lwIP Options Configuration.
- * This file is based on Utilities\lwip_v1.3.2\src\include\lwip\opt.h
- * and contains the lwIP configuration for the STM32F4x7 demonstration.
- ******************************************************************************
- * @attention
- *
- * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
- * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
- * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
- * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
- * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
- * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *
- * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
- ******************************************************************************
- */
-
-#ifndef __LWIPOPTS_H__
-#define __LWIPOPTS_H__
-
-
-#include <stdio.h>
-
-#define MTU 1500
-
-#define ICMP_TTL 64
-
-#if 0
-#define ICMP_DEBUG LWIP_DBG_ON
-#define UDP_DEBUG LWIP_DBG_ON
-#define IP_DEBUG LWIP_DBG_ON
-#define ETHARP_DEBUG LWIP_DBG_ON
-#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT)
-#define LWIP_DEBUG 1
-#define LWIP_PLATFORM_DIAG(a) printf a
-#endif
-
-#define LWIP_PLATFORM_DIAG(a) printf a
-
-#if 0
-#define LWIP_DEBUG 1
-#define TIMERS_DEBUG LWIP_DBG_ON
-#else
-#define LWIP_DEBUG 0
-#endif
-
-/**
- * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain
- * critical regions during buffer allocation, deallocation and memory
- * allocation and deallocation.
- */
-#define SYS_LIGHTWEIGHT_PROT 0
-
-/**
- * NO_SYS==1: Provides VERY minimal functionality. Otherwise,
- * use lwIP facilities.
- */
-#define NO_SYS 1
-
-/* ---------- Memory options ---------- */
-/* MEM_ALIGNMENT: should be set to the alignment of the CPU for which
- lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4, 2
- byte alignment -> define MEM_ALIGNMENT to 2. */
-#define MEM_ALIGNMENT 4
-
-/* MEM_SIZE: the size of the heap memory. If the application will send
-a lot of data that needs to be copied, this should be set high. */
-#define MEM_SIZE (10*1024)
-
-/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
- sends a lot of data out of ROM (or other static memory), this
- should be set high. */
-#define MEMP_NUM_PBUF 100
-/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
- per active UDP "connection". */
-#define MEMP_NUM_UDP_PCB 6
-/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP
- connections. */
-
-#define PBUF_POOL_FREE_OOSEQ 0
-
-#define MEMP_NUM_TCP_PCB 10
-/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
- connections. */
-#define MEMP_NUM_TCP_PCB_LISTEN 6
-/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
- segments. */
-#define MEMP_NUM_TCP_SEG 12
-/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
- timeouts. */
-#define MEMP_NUM_SYS_TIMEOUT 4
-
-
-#define PBUF_POOL_FREE_OOSEQ 0
-
-/* ---------- Pbuf options ---------- */
-/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */
-#define PBUF_POOL_SIZE 20
-
-/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */
-#define PBUF_POOL_BUFSIZE ((MTU)+8)
-
-
-/* ---------- TCP options ---------- */
-#define LWIP_TCP 0
-#define TCP_TTL 255
-
-/* Controls if TCP should queue segments that arrive out of
- order. Define to 0 if your device is low on memory. */
-#define TCP_QUEUE_OOSEQ 0
-
-/* TCP Maximum segment size. */
-#define TCP_MSS (MTU - 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */
-
-/* TCP sender buffer space (bytes). */
-#define TCP_SND_BUF (2*TCP_MSS)
-
-/* TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least
- as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */
-
-#define TCP_SND_QUEUELEN (2* TCP_SND_BUF/TCP_MSS)
-
-/* TCP receive window. */
-#define TCP_WND (2*TCP_MSS)
-
-
-/* ---------- ICMP options ---------- */
-#define LWIP_ICMP 1
-
-
-/* ---------- DHCP options ---------- */
-/* Define LWIP_DHCP to 1 if you want DHCP configuration of
- interfaces. DHCP is not implemented in lwIP 0.5.1, however, so
- turning this on does currently not work. */
-#define LWIP_DHCP 1
-#define LWIP_AUTOIP 0
-#define LWIP_DHCP_BOOTP_FILE 0
-
-
-/* ---------- UDP options ---------- */
-#define LWIP_UDP 1
-#define UDP_TTL 255
-
-
-/* ---------- Statistics options ---------- */
-#define LWIP_STATS 0
-#undef LWIP_PROVIDE_ERRNO
-#define ETHARP_STATS 0
-
-
-/*
- --------------------------------------
- ---------- Checksum options ----------
- --------------------------------------
-*/
-
-/*
-The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums by hardware:
- - To use this feature let the following define uncommented.
- - To disable it and process by CPU comment the the checksum.
-*/
-
- /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/
-#define CHECKSUM_GEN_IP 1
- /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/
-#define CHECKSUM_GEN_UDP 1
- /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/
-#define CHECKSUM_GEN_TCP 1
- /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/
-#define CHECKSUM_CHECK_IP 1
- /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/
-#define CHECKSUM_CHECK_UDP 1
- /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/
-#define CHECKSUM_CHECK_TCP 1
-
-
-/*
- ----------------------------------------------
- ---------- Sequential layer options ----------
- ----------------------------------------------
-*/
-/**
- * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)
- */
-#define LWIP_NETCONN 0
-
-/*
- ------------------------------------
- ---------- Socket options ----------
- ------------------------------------
-*/
-/**
- * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)
- */
-#define LWIP_SOCKET 0
-
-
-/*
- ----------------------------------------
- ---------- Lwip Debug options ----------
- ----------------------------------------
-*/
-//#define LWIP_DEBUG 1
-
-#endif /* __LWIPOPTS_H__ */
-
-/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
+/** + ****************************************************************************** + * @file lwipopts.h + * @author MCD Application Team + * @version V1.0.0 + * @date 31-October-2011 + * @brief lwIP Options Configuration. + * This file is based on Utilities\lwip_v1.3.2\src\include\lwip\opt.h + * and contains the lwIP configuration for the STM32F4x7 demonstration. + ****************************************************************************** + * @attention + * + * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS + * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE + * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY + * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING + * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE + * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. + * + * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> + ****************************************************************************** + */ + +#ifndef __LWIPOPTS_H__ +#define __LWIPOPTS_H__ + + +#include <stdio.h> + +#define LWIP_IPV4 1 +#define LWIP_IPV6 0 + +#define MTU 1500 + +#define ICMP_TTL 64 + +#define LWIP_TIMERS 1 + + +#if 0 +#define SYS_DEBUG LWIP_DBG_ON +#define DHCP_DEBUG LWIP_DBG_ON +#define ICMP_DEBUG LWIP_DBG_ON +#define UDP_DEBUG LWIP_DBG_ON +#define IP_DEBUG LWIP_DBG_ON +#define ETHARP_DEBUG LWIP_DBG_ON +#define TIMERS_DEBUG LWIP_DBG_ON +#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT) +#define LWIP_DEBUG 1 +#define LWIP_PLATFORM_DIAG(a) printf a +#else +#define LWIP_DEBUG 0 +#endif + + +/** + * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain + * critical regions during buffer allocation, deallocation and memory + * allocation and deallocation. + */ +#define SYS_LIGHTWEIGHT_PROT 1 + +/** + * NO_SYS==1: Provides VERY minimal functionality. Otherwise, + * use lwIP facilities. + */ +#define NO_SYS 1 + +/* ---------- Memory options ---------- */ +/* MEM_ALIGNMENT: should be set to the alignment of the CPU for which + lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4, 2 + byte alignment -> define MEM_ALIGNMENT to 2. */ +#define MEM_ALIGNMENT 4 + +/* MEM_SIZE: the size of the heap memory. If the application will send +a lot of data that needs to be copied, this should be set high. */ +#define MEM_SIZE (10*1024) + +/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application + sends a lot of data out of ROM (or other static memory), this + should be set high. */ +#define MEMP_NUM_PBUF 100 +/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One + per active UDP "connection". */ +#define MEMP_NUM_UDP_PCB 6 +/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP + connections. */ + +#define PBUF_POOL_FREE_OOSEQ 0 + +#define MEMP_NUM_TCP_PCB 10 +/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP + connections. */ +#define MEMP_NUM_TCP_PCB_LISTEN 6 +/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP + segments. */ +#define MEMP_NUM_TCP_SEG 12 +/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active + timeouts. */ +#define MEMP_NUM_SYS_TIMEOUT 4 + + +#define PBUF_POOL_FREE_OOSEQ 0 + +/* ---------- Pbuf options ---------- */ +/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */ +#define PBUF_POOL_SIZE 20 + +/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */ +#define PBUF_POOL_BUFSIZE ((MTU)+8) + + +/* ---------- TCP options ---------- */ +#define LWIP_TCP 0 +#define TCP_TTL 255 + +/* Controls if TCP should queue segments that arrive out of + order. Define to 0 if your device is low on memory. */ +#define TCP_QUEUE_OOSEQ 0 + +/* TCP Maximum segment size. */ +#define TCP_MSS (MTU - 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */ + +/* TCP sender buffer space (bytes). */ +#define TCP_SND_BUF (2*TCP_MSS) + +/* TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least + as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */ + +#define TCP_SND_QUEUELEN (2* TCP_SND_BUF/TCP_MSS) + +/* TCP receive window. */ +#define TCP_WND (2*TCP_MSS) + + +/* ---------- ICMP options ---------- */ +#define LWIP_ICMP 1 + + +/* ---------- DHCP options ---------- */ +/* Define LWIP_DHCP to 1 if you want DHCP configuration of + interfaces. DHCP is not implemented in lwIP 0.5.1, however, so + turning this on does currently not work. */ +#define LWIP_DHCP 1 +#define LWIP_AUTOIP 0 +#define LWIP_DHCP_BOOTP_FILE 0 + + +/* ---------- UDP options ---------- */ +#define LWIP_UDP 1 +#define UDP_TTL 255 + + +/* ---------- Statistics options ---------- */ +#define LWIP_STATS 0 +#undef LWIP_PROVIDE_ERRNO +#define ETHARP_STATS 0 + +#define IP_FRAG 1 +#define IP_FRAG_USES_STATIC_BUF 0 + + +/* + -------------------------------------- + ---------- Checksum options ---------- + -------------------------------------- +*/ + +/* +The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums by hardware: + - To use this feature let the following define uncommented. + - To disable it and process by CPU comment the the checksum. +*/ + + /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/ +#define CHECKSUM_GEN_IP 1 + /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/ +#define CHECKSUM_GEN_UDP 1 + /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/ +#define CHECKSUM_GEN_TCP 1 + /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/ +#define CHECKSUM_CHECK_IP 1 + /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/ +#define CHECKSUM_CHECK_UDP 1 + /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/ +#define CHECKSUM_CHECK_TCP 1 + + +/* + ---------------------------------------------- + ---------- Sequential layer options ---------- + ---------------------------------------------- +*/ +/** + * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) + */ +#define LWIP_NETCONN 0 + +/* + ------------------------------------ + ---------- Socket options ---------- + ------------------------------------ +*/ +/** + * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) + */ +#define LWIP_SOCKET 0 + + +/* + ---------------------------------------- + ---------- Lwip Debug options ---------- + ---------------------------------------- +*/ +//#define LWIP_DEBUG 1 + +#endif /* __LWIPOPTS_H__ */ + +/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ |