新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2014-1-8
- 在线时间
- 13 小时
|
1金钱
lwip-2.1.2中,PING超过TCP_MSS+40+14就不通了
我使用STM32F103+W5100, 是老项目改造,使用 平台有点老,但是这个和平台无关,我从官网下载最新的LWIP2.1.2移植,系统是FreeRtos,
W5100的驱动已经全部重写,直接没有用芯片内部的网络栈,使用的是RAW MAC。
系统已经通了,TCP UDP ,HTTP全部能正常工作,
偶然间使用PING -l 1000 命令时候就不通了。
后来经过多方排查 发现是 只要我发送的数据包超过 lwipopts.h中的宏 TCP_MSS 大小,就开始PING 不通。
不知道有没有谁遇到过相同问题。
解决办法是有:直接把 #define TCP_MSS 1500 - 40 就OK了。
问题是 我单片机 比较小,希望节约空间。
lwipopts.h文件就加了这几个宏
//单网卡
#define LWIP_SINGLE_NETIF 1
//4byte 对齐
#define MEM_ALIGNMENT 4U
//修改大小
//#define TCP_MSS 536
//pbuf数
#define MEMP_NUM_PBUF 6
ping 550大小可以通,ping 555大小就不通了
|
|