发 帖  
原厂入驻New
[问答] 为什么LWIP双向发送大量数据时网络协议栈会崩溃?
53 emWin 协议栈
分享
大家好,本人最近在捣鼓那个emwin的VNC,如果不动PC的鼠标,STM32只向PC传数据是没问题的,VNC客户端画面一直能持续。如果移动PC鼠标,估计VNC客户端要向作为服务器的STM32板子传送鼠标坐标信息,LWIP协议栈就在几秒内挂掉,LWIP通过串口留下的遗书是以下两个的其中之一(不会两个都同时出现):
Assertion"netconn_accept:invalid recvmbox"faiLED at line 354 in..\LWIP\lwip-1.4.1\src\api\api_lib.c
Assertion"unsent_oversize mismatch(PCB vs.last_unsent)" failed at line 444 in..\LWIP\lwip-1.4.1\src\core\tcp_out.c
请问以上两条消息代表什么?有哪些因素会导致LWIP发来这种消息呢?我如何入手排查问题呢?谢谢大家!貌似这些是个bug,其中一个百度能搜到外国论坛的讨论http://savannah.nongnu.org/bugs/?36380,貌似bug已经解决了,不知道有补丁没有。
同样是这个移植的协议栈,跑跑原子教材中普通的TCP回响服务器例程是没问题的,很久都不会挂掉,但一开始VNC就不行了。网络协议栈动不动就崩溃似乎是个严重问题 ,论坛中有人能挑战下这个问题吗?或给点启发?
0
2019-11-4 03:19:48   评论 分享淘帖 邀请回答

相关问题

4个回答
Assertion"netconn_accept:invalid recvmbox"failed at line 354 in..\LWIP\lwip-1.4.1\src\api\api_lib.c,我从开发板PING出来后收到数据也出现这个错误。不知你解决没有?
2019-11-4 09:08:37 评论

举报

报错第一句是LWIP接收邮箱有问题,你直接用原子例程里的LWIP程序的话,接收那部分程序要改一下吧,接收缓冲大小应该也要改一下。
2019-11-4 09:18:58 评论

举报

没解决,我只使用PC机ping过开发板,还不知道LWIP也能ping其他设备呢,我试着改改缓冲大小吧。楼上好心人接收部分程序怎么改能给点详细指导吗
2019-11-4 09:26:16 评论

举报

只有小组成员才能发言,加入小组>>

55个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表