// // NOTE: This file has been derived from the lwIP/src/include/lwip/opt.h header file.
// 注:此文件起源于opt.h //
For additional details, refer to the original "opt.h" file, and lwIP // documentation.
// 详情参考opt.h。
//*****************************************************************************
#ifndef __LWIPOPTS_H__
#define __LWIPOPTS_H__
//***************************************************************************** // // ---------- Stellaris / lwIP Port Options ---------- // //*****************************************************************************
#define HOST_TMR_INTERVAL 100 // 主机定时器间隔,注意不是lwip协议栈本身的定时器间隔,可用来检查IP地址的获取情况或者周期性地调用一些函数。
//#define DHCP_EXPIRE_TIMER_MSECS (10 * 1000) //DHCP 获取超时的毫秒数。这个实际在例程中没看到有用到。DHCP获取IP超时,一般就会采用AUTOIP的方式自给IP。
//#define INCLUDE_HTTPD_SSI //在HTTPD中如果有含有SSI标签的网页存在,则开启它,否则如果是普通的html网页,不需要开启。
//#define INCLUDE_HTTPD_CGI //如果需要CGI的处理,则需要开启。
//#define DYNAMIC_HTTP_HEADERS
//如果要动态的添加HTTP首部则开启,在使用makefsfile 带参数-h时,就去掉了http首部,如果不能正常浏览到网页可尝试开启。一般不需要开启,样可以节省Flash的空间,因为如果不是使用SD卡,而是使用内部文件系统的时候,所有的网页数据都放在了RO段。
//***************************************************************************** // // ---------- Platform specific locking ---------- // //*****************************************************************************
#define SYS_LIGHTWEIGHT_PROT 1 // default is 0 针对Stellaris必须1,主要是因为在分配内存的时候,要确保总中断关闭。防止内存分配失败。
#define NO_SYS 1 // default is 0 如果为使用RTOS,就置1.
//#define MEMCPY(dst,src,len) memcpy(dst,src,len) // 该宏用来定义我们是否需要C语言标准库函数memcpy(),如果有更有效的函数,该宏可以忽略.不使用C标准库
//#define SMEMCPY(dst,src,len) memcpy(dst,src,len) //同上
//***************************************************************************** // // ---------- Memory options ---------- // //*****************************************************************************//
#define MEM_LIBC_MALLOC 0 //如果为1,就表示我们使用c库的 malloc/free/realloc,否则使用lwip自带的函数,注意加了前缀的。
#define MEM_ALIGNMENT 4 //Stellaris该值必须为4,设置CPU的对齐方式
#define MEM_SIZE (12 * 1024) // default is 1600 该值在ZI中占了很大的份额。这就是堆内存的大小,如果应用程序有大量数据在发送是要被复制,那么该值就应该尽量大一点。由此可见,发送缓冲区从这里边分配。
//#define MEMP_OVERFLOW_CHECK 0 //是否开启内存POOL溢出检查,即是否使能堆内存溢出检查.
//#define MEMP_SANITY_CHECK 0 //设置为1表示在每次调用函数memp_free()后,进行一次正常的检查,以确保链表队列没有循环
//#define MEM_USE_POOLS 0 //是否使用POOL型内存来作为发送缓冲,而不是heap型,如果开启的话,可能还要创建头文件lwippool.h
//#define MEMP_USE_CUSTOM_POOLS 0 //内存Pool是否使用固定大小的POOL,开启这个前提是要开启上面的。
//***************************************************************************** // // ---------- Internal Memory Pool Sizes ---------- // //*****************************************************************************
#define MEMP_NUM_PBUF 20 //来自memp的PBUF_ROM和PBUF_REF类型的数目,如果应用程有大量的数据来自ROM或者静态mem的数据要发送,此值要设大一些。
//#define MEMP_NUM_RAW_PCB 4 //原始连接(就是应用程不经过传输层直接到IP层获取数据)PCB的数目,该项依赖lwip_raw项的开启。
//#define MEMP_NUM_UDP_PCB 4 //UDP的PCB数目,每一活动的UDP “连接” 需要一个PCB。
#define MEMP_NUM_TCP_PCB 3 // 同时建立激活的TCP连接的数目(要求参数LWIP_TCP使能).默认为5 我改成1之后和原来的8没有什么区别。
#define MEMP_NUM_TCP_PCB_LISTEN 1 // 能够监听的TCP连接数目(要求参数LWIP_TCP使能).默认为8我改成了1之后对本例程也是无影响的。
#define MEMP_NUM_TCP_SEG 20 //最多同时在队列的TCP_SEG的数目.
//#define MEMP_NUM_REASSDATA 5 // 最多同时在队列等待重装的IP包数目,是整个IP包,不是IP分片。
//#define MEMP_NUM_ARP_QUEUE 30 //
//#define MEMP_NUM_IGMP_GROUP 8 //
//#define MEMP_NUM_SYS_TIMEOUT 3 // 能够同时激活的timeout的个数(要求NO_SYS==0)。默认为3
//#define MEMP_NUM_NETBUF 2 // netbufs结构的数目,仅当使用sequential API的时候需要。默认为2
//#define MEMP_NUM_NETCONN 4 // netconns结构的数目,仅当使用sequential API的时候需要。默认为4
//#define MEMP_NUM_TCPIP_MSG_API 8 // tcpip_msg结构的数目,它用于callback/timeout API的通信(仅当使用tcpip.c的时候需要 )。默认为8
//#define MEMP_NUM_TCPIP_MSG_INPKT 8 // 接收包时tcpip_msg结构体的数目。
//***************************************************************************** // // ---------- ARP options ---------- // //*****************************************************************************
//#define LWIP_ARP 1 //开启ARP
//#define ARP_TABLE_SIZE 10 //ARP表项的大小。激活的MAC-IP地址对存储区的数目
//#define ARP_QUEUEING 1 //设置为1表示在硬件地址解析期间,将发送数据包放入到队列中
//#define ETHARP_TRUST_IP_MAC 1
[ 本帖最后由 academic 于 2010-11-26 15:51 编辑 ] |