你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F107 LWIP网络假死问题  

[复制链接]
衔胆栖冰 提问时间:2018-1-11 20:48 /
悬赏10ST金币已解决
本帖最后由 衔胆栖冰 于 2018-1-31 09:22 编辑

    大家好,我最近在用STM32F107的以太网接口,外接DM9161AEP PHY,LWIP (1.00版本)。仅使用UDP通信,程序运行了一段时间后,出现网络假死的情况。出错时间随机,长则几天,短则几分钟。    重现方法:用其他设备一直给该设备发送数据IP、端口发送数据,结果很快就出现网络假死的情况,但是单片机的程序还在跑,其他功能正常。
    网络假死后只能通过断点重启单片机才能恢复。在网络假死的情况下,(设备定向给PC发数据)用Wireshark工具抓包,PC能收单片机发来的ARP请求。但是单片机收不到任何数据。没有跑系统,单片机裸跑,用查询方式接收数据,网络假死后查询ETH_GetRxPktSize()函数一直返回0。
    每一个pbuf_alloc失败都会打印信息,但是在网络死机时并没有发现pbuf_alloc失败的信息。通过串口打印调试信息,正常的时候low_level_input 和low_level_output都有数据;异常时low_level_input没有数据,low_level_output还在发ARP请求数据。通过LWIP_DEBUG,一直有“etharp_timer”和“tcp_slowtmr: no active pcbs”信息输出。

    参考了网友“老衲五木”的博客文章,修改了几天代码也没有解决。望各位大神指点迷津,谢谢!

最佳答案

查看完整内容

楼主可以发邮件到

点评

谢谢楼主打赏  发表于 2018-2-5 13:44
收藏 评论32 发布时间:2018-1-11 20:48

举报

32个回答
zero99 回答时间:2018-1-11 20:48:28
楼主可以发邮件到 mcu.china@st.com
creep 回答时间:2018-1-12 09:45:22
帮顶,实在没招找下ST的FAE帮下忙呗!
衔胆栖冰 回答时间:2018-1-12 13:03:00
creep 发表于 2018-1-12 09:45
帮顶,实在没招找下ST的FAE帮下忙呗!

谢谢
衔胆栖冰 回答时间:2018-1-15 14:55:40
zero99 发表于 2018-1-15 13:19
楼主可以发邮件到

好的,谢谢
xbdljy123 回答时间:2018-4-25 15:31:23
楼主问题解决了吗?
衔胆栖冰 回答时间:2019-3-2 23:54:58
xbdljy123 发表于 2018-4-25 15:31
楼主问题解决了吗?

解决了,很久没时间上论坛了,哈哈
3111272 回答时间:2019-3-4 09:37:06
衔胆栖冰 发表于 2019-3-2 23:54
解决了,很久没时间上论坛了,哈哈

楼主可否分享一下原因
猎奇客 回答时间:2019-3-8 14:32:23
我也遇到网络假死问题希望有前辈能赐教
衔胆栖冰 回答时间:2019-3-25 22:26:02
3111272 发表于 2019-3-4 09:37
楼主可否分享一下原因

看一下芯片的技术参考手册,读取 以太网 DMA 丢失帧和缓冲区上溢计数器寄存器 (ETH_DMAMFBOCR),看下实在应用丢包还是在dma控制器丢包,如果是在应用丢包的话看下接收函数中有没有对不完整包的处理。
1234下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版