OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2846|回复: 13

[XILINX] xilinx7020 使用LWIP内核TCP_WRITE循环发送数据会出现内存溢出的情况

[复制链接]

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
发表于 2023-5-31 19:21:14 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-5-31 19:23:31 | 显示全部楼层
512字节大小的数组,循环发送8192次,网络调试助手收到3000-4000字节就会出现ERR_MEM
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2023-6-1 14:18:28 | 显示全部楼层
是不是哪里缓存设置小了,可以检查看看
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-6-1 15:09:45 | 显示全部楼层
QinQZ 发表于 2023-6-1 14:18
是不是哪里缓存设置小了,可以检查看看

内存该设置的都设置了,按照例程设置的
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-6-1 15:12:22 | 显示全部楼层
FPGAZX 发表于 2023-6-1 15:09
内存该设置的都设置了,按照例程设置的

而且我循环5次停顿2秒,这样持续发送,也会出现这种情况,网络调试助手接受到的数据大小依旧是3-4KB,停顿与不停顿接受的数值大小一样
回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2023-5-6
在线时间
10 小时
发表于 2023-6-1 17:49:39 | 显示全部楼层
可以不要用网络调试助手自己测试一下,因为代码中数组的容量是16M,理论上是可以存储下4MB的数据,我怀疑是网络调试助手的问题。
回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2023-5-6
在线时间
10 小时
发表于 2023-6-1 17:50:14 | 显示全部楼层
可以不要用网络调试助手自己测试一下,因为代码中数组的容量是16M,理论上是可以存储下4MB的数据,我怀疑是网络调试助手的问题。
回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2023-5-6
在线时间
10 小时
发表于 2023-6-1 17:53:27 | 显示全部楼层
可以不要用网络调试助手自己测试一下,因为代码中数组的容量是16M,理论上是可以存储下4MB的数据,我怀疑是网络调试助手的问题。
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-6-1 19:32:23 | 显示全部楼层
长河饮马 发表于 2023-6-1 17:53
可以不要用网络调试助手自己测试一下,因为代码中数组的容量是16M,理论上是可以存储下4MB的数据,我怀疑是 ...

这个怎么测试呀
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-6-1 19:33:53 | 显示全部楼层
本帖最后由 FPGAZX 于 2023-6-1 19:41 编辑

我后面添加了TCP_SENT回调函数,发现发送数据后TCP_SENT回调函数并没有被执行,但是我的网络调试助手已经收到数据并显示出来了~图片是抓包数据
微信图片_20230601193812.jpg
回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2023-5-6
在线时间
10 小时
发表于 2023-6-2 19:45:41 | 显示全部楼层
FPGAZX 发表于 2023-6-1 19:32
这个怎么测试呀

在你的代码中自己写个循环,向服务器端循环写入特定的字符,当写入3000~4000个字节时,看内存是否溢出
回复

使用道具 举报

33

主题

150

帖子

0

精华

高级会员

Rank: 4

积分
505
金钱
505
注册时间
2014-1-24
在线时间
102 小时
发表于 2023-6-28 22:55:29 | 显示全部楼层
我用UDP不加延时循环发送也有这个问题,内存报错,加一定延时就OK
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-8-9 16:27:31 来自手机 | 显示全部楼层
北方的马克思 发表于 2023-6-28 22:55
我用UDP不加延时循环发送也有这个问题,内存报错,加一定延时就OK

Udp传输感觉会丢包,所以才用的tcp
回复

使用道具 举报

3

主题

19

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-5-31
在线时间
6 小时
 楼主| 发表于 2023-8-9 16:28:25 来自手机 | 显示全部楼层
长河饮马 发表于 2023-6-2 19:45
在你的代码中自己写个循环,向服务器端循环写入特定的字符,当写入3000~4000个字节时,看内存是否溢出

不是网络助手的问题
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-4 08:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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