6512|9

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TM4C1294+LWIP pbuf_alloc返回0问题咨询 [复制链接]

各位大侠,本人在搞1294的网络通信,最近发现一个问题,在xp中使用ping -t 指令进行压力测试时,不管是无操作系统的LWIP还是FREERTOS+LWIP,都发现Ethernet MAC DMA Interrupt Status (EMACDMARIS)返回0x00008080值,表示“Receive Buffer Unavailable”,最后跟踪到tiva-tm4c129.c中
/* Allocate a new buffer for this descriptor */
pDescList->pDescriptors[pDescList->ui32Read].pBuf = pbuf_alloc(PBUF_RAW, PBUF_POOL_BUFSIZE, PBUF_POOL);
pDescList->pDescriptors[pDescList->ui32Read].pBuf 返回为0,导致系统无法再进行数据的发送和接收,只能使用看门狗重启复位后才可恢复,但过不了多长时间又出现该现象,在ti的论坛中有类似的问题http://e2e.ti.com/support/microc ... f/908/t/350965.aspx,按照他们的解决方法还是无法解决,不知是库问题还是移植过程中出现的问题,后来我直接将所有的其他代码去除,问题依旧,哪位大侠碰到过类似的问题,能否提供一下提示,先谢了!

最新回复

进来学习一下!谢谢  详情 回复 发表于 2017-11-15 21:17
 
点赞 关注(1)

回复
举报

1803

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
我仔细看了一下你贴出来的链接,以及这个链接里边的那个帖子。这个问题在 TI 的论坛上已经解决了。问题在于 lwipInit() 里边的 MAP_EMACInit() 函数,将 MAP_ 去掉,强制使用 FLASH 中的 API.
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
我跟你遇到了一模一样的问题。分析是再也无法分配到pbuf_poll,再也无法ping通,但是发送内存还是有的,模块可以主动向外发送数据,但是无法接收任何数据包。
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

4
 
目前还没碰到这个问题,可能与 ram 的分配有关,产生了碎片,最终无法分配出内存。
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

5
 
本帖最后由 438629087 于 2015-2-3 11:03 编辑
Study_Stellaris 发表于 2015-2-3 09:33
目前还没碰到这个问题,可能与 ram 的分配有关,产生了碎片,最终无法分配出内存。

接收使用的是pbuf_pool,是不应该产生内存碎片的,发送倒是有可能,目前这个情况是接收出了问题。不知道你那边是否长期运行试过,一直循环进行通信测试,跑上一天以上,估计就会出问题;或者是超大数据量收发测试,会在更短的时间内挂掉
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

6
 
我这边还没有试过,你可以尝试开启 LWIP Debug ,找找具体的问题。
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

7
 
438629087 发表于 2015-2-2 18:13
我跟你遇到了一模一样的问题。分析是再也无法分配到pbuf_poll,再也无法ping通,但是发送内存还是有的,模 ...

遇到同样的问题,不知道您解决了没?
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

8
 
438629087 发表于 2015-2-2 18:13
我跟你遇到了一模一样的问题。分析是再也无法分配到pbuf_poll,再也无法ping通,但是发送内存还是有的,模 ...

遇到同样的问题,不知道您解决了没?
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

9
 
fangshu 发表于 2017-6-26 17:24
遇到同样的问题,不知道您解决了没?

您解决了吗 能给个Q吗
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

10
 
进来学习一下!谢谢
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表