|
楼主 |
发表于 2021-1-28 14:07:29
|
显示全部楼层
硬汉哥,这个是我的lwip配置文件,您看下是不是这里有隐患
#ifndef __LWIPOPTS_H__
#define __LWIPOPTS_H__
#include "cmsis_os.h"
#define SYS_LIGHTWEIGHT_PROT 1 /* 平台锁,保护关键区域内缓存的分配与释放 */
#define NO_SYS 0 /* NO_SYS==1:不使用操作系统 */
#define NO_SYS_NO_TIMERS 0
#define MEM_ALIGNMENT 4 /* 使用4字节对齐模式 */
#define MEM_SIZE (30*1024) /* heap内存的大小,如果在应用中有大量数据发送的话这个值最好设置大一点 */
#define MEMP_NUM_PBUF 50 /* memp结构的pbuf数量,如果应用从ROM或者静态存储区发送大量数据时,这个值应该设置大一点 */
#define MEMP_NUM_UDP_PCB 6 /* UDP协议控制块(PCB)数量.每个活动的UDP"连接"需要一个PCB. */
#define MEMP_NUM_TCP_PCB 10 /* 同时建立激活的TCP数量 */
#define MEMP_NUM_TCP_PCB_LISTEN 6 /* 能够监听的TCP连接数量 */
#define MEMP_NUM_TCP_SEG 12 /* 最多同时在队列中的TCP段数量 */
#define MEMP_NUM_SYS_TIMEOUT 10 /* 能够同时激活的timeout个数 */
#define PBUF_POOL_SIZE 16 /* pbuf内存池个数 */
#define PBUF_POOL_BUFSIZE 512 /* 每个pbuf内存池大小 */
//#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
#define LWIP_TCP 1 /* 为1是使用TCP */
#define TCP_TTL 255 /* 生存时间 */
#define TCP_QUEUE_OOSEQ 0 /* 当TCP的数据段超出队列时的控制位,当设备的内存过小的时候此项应为0 */
#define TCP_MSS (1500 - 40) /* 最大TCP分段 TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */
#define TCP_SND_BUF (4*TCP_MSS) /* TCP发送缓冲区大小(bytes) */
#define TCP_SND_QUEUELEN (2* TCP_SND_BUF/TCP_MSS) /* TCP发送缓冲区大小(pbuf).这个值最小为(2 * TCP_SND_BUF/TCP_MSS) */
#define TCP_WND (2*TCP_MSS) /* TCP发送窗口 */
#define LWIP_ICMP 1 /* 使用ICMP协议 */
#define LWIP_DHCP 1 /* 当使用DHCP时此位应该为1 */
#define LWIP_UDP 1 /* 使用UDP服务 */
#define UDP_TTL 255 /* UDP数据包生存时间 */
#define LWIP_STATS 0 /* */
#define LWIP_PROVIDE_ERRNO 1 /* */
#define LWIP_NETIF_LINK_CALLBACK 1
#define CHECKSUM_BY_HARDWARE /* 定义CHECKSUM_BY_HARDWARE,使用硬件帧校验,STM32F746允许通过硬件识别和计算IP,UDP和ICMP的帧校验和 */
#ifdef CHECKSUM_BY_HARDWARE
/* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/ /* 硬件生成IP数据包的帧校验和 */
#define CHECKSUM_GEN_IP 0
/* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/
#define CHECKSUM_GEN_UDP 0
/* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/
#define CHECKSUM_GEN_TCP 0
/* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/
#define CHECKSUM_CHECK_IP 0
/* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/
#define CHECKSUM_CHECK_UDP 0
/* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/
#define CHECKSUM_CHECK_TCP 0
/* CHECKSUM_CHECK_ICMP==0: Check checksums by hardware for incoming ICMP packets.*/
#define CHECKSUM_GEN_ICMP 0
#else
/* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/
#define CHECKSUM_GEN_IP 1
/* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/
#define CHECKSUM_GEN_UDP 1
/* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/
#define CHECKSUM_GEN_TCP 1
/* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/
#define CHECKSUM_CHECK_IP 1
/* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/
#define CHECKSUM_CHECK_UDP 1
/* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/
#define CHECKSUM_CHECK_TCP 1
/* CHECKSUM_CHECK_ICMP==1: Check checksums by hardware for incoming ICMP packets.*/
#define CHECKSUM_GEN_ICMP 1
#endif
#define LWIP_NETCONN 1 /* LWIP_NETCONN==1:使能NETCON函数(要求使用api_lib.c) */
#define LWIP_SOCKET 1 /*LWIP_SOCKET==1:使能Socket API(要求使用sockets.c)*/
//#define LWIP_COMPAT_MUTEX 0 /* 表示是否用信号量来替代互斥信号量 */
#define LWIP_SO_RCVTIMEO 1 /*通过定义LWIP_SO_RCVTIMEO使能netconn结构体中recv_timeout,使用recv_timeout可以避免阻塞线程*/
//#define LWIP_SO_SNDTIMEO 1
#define TCPIP_THREAD_NAME "tcpip_thread"
#define TCPIP_THREAD_STACKSIZE 1024
#define TCPIP_THREAD_PRIO osPriorityLow3
#define TCPIP_MBOX_SIZE 10
#define SLIPIF_THREAD_NAME "slipif_loop"
#define SLIPIF_THREAD_STACKSIZE 1024
#define SLIPIF_THREAD_PRIO osPriorityNormal
#define DEFAULT_THREAD_NAME "lwIP"
#define DEFAULT_THREAD_STACKSIZE 1024
#define DEFAULT_THREAD_PRIO osPriorityNormal
#define DEFAULT_RAW_RECVMBOX_SIZE 10
#define DEFAULT_UDP_RECVMBOX_SIZE 10
#define DEFAULT_TCP_RECVMBOX_SIZE 10
#define DEFAULT_ACCEPTMBOX_SIZE 10
//#define LWIP_DEBUG 1
#define ICMP_DEBUG LWIP_DBG_OFF //开启/关闭ICMPdebug
#endif /* __LWIPOPTS_H__ */
|
|