OpenEdv-开源电子网

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

正点原子407开发板,lwip+ucosii系统上TCP连接数不能超过3个,当超过3个时会连接失败。

[复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-10-29
在线时间
6 小时
发表于 2016-7-9 16:23:23 | 显示全部楼层 |阅读模式
10金钱
目前在正点原子407开发板上实现串口转以太网功能,系统是lwip+ucosii。
基本上实现了串口转以太网功能。但是在测试TCP连接时,发现TCP连接数不能超过3个,当超过3个时会连接失败。
lwip时的配置文件lwipopts.h相关配置:
#define MEM_SIZE                16000         //内存堆heap大小
#define MEMP_NUM_PBUF           20                 //MEMP_NUM_PBUF:memp结构的pbuf数量,如果应用从ROM或者静态存储区发送大量数据时,这个值应该设置大一点
#define MEMP_NUM_UDP_PCB        6                //MEMP_NUM_UDP_PCB:UDP协议控制块(PCB)数量.每个活动的UDP"连接"需要一个PCB.
#define MEMP_NUM_TCP_PCB        10                //MEMP_NUM_TCP_PCB:同时建立激活的TCP数量
#define MEMP_NUM_TCP_PCB_LISTEN 6                //MEMP_NUM_TCP_PCB_LISTEN:能够监听的TCP连接数量
#define MEMP_NUM_TCP_SEG        15                //MEMP_NUM_TCP_SEG:最多同时在队列中的TCP段数量
#define MEMP_NUM_SYS_TIMEOUT    8                //MEMP_NUM_SYS_TIMEOUT:能够同时激活的timeout个数

使用J-link仿真起来后,发现conn = (struct netconn *)memp_malloc(MEMP_NETCONN);这句内存分配失败,但是开发板的内存资源很多,将TCP连接所需要内存分配到外部RAM上也是不行,
应该不是内存资源的问题,但不知是在哪里修改?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-10-29
在线时间
6 小时
 楼主| 发表于 2016-7-9 16:27:04 | 显示全部楼层
更改lwip的配置文件lwipopts.h如下所示,出现的问题也是一样的。
#define MEM_SIZE                20*1024         //内存堆heap大小
#define MEMP_NUM_PBUF           20                 //MEMP_NUM_PBUF:memp结构的pbuf数量,如果应用从ROM或者静态存储区发送大量数据时,这个值应该设置大一点
#define MEMP_NUM_UDP_PCB        8                //MEMP_NUM_UDP_PCB:UDP协议控制块(PCB)数量.每个活动的UDP"连接"需要一个PCB.
#define MEMP_NUM_TCP_PCB        16                //MEMP_NUM_TCP_PCB:同时建立激活的TCP数量
#define MEMP_NUM_TCP_PCB_LISTEN 8                //MEMP_NUM_TCP_PCB_LISTEN:能够监听的TCP连接数量
#define MEMP_NUM_TCP_SEG        16                //MEMP_NUM_TCP_SEG:最多同时在队列中的TCP段数量
#define MEMP_NUM_SYS_TIMEOUT    8                //MEMP_NUM_SYS_TIMEOUT:能够同时激活的timeout个数
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-7-9 18:53:44 | 显示全部楼层
ucosii配置文件中的消息队列默认配置的只有5个,有可能是消息队列不够了。把消息队列改大一点。
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-10-29
在线时间
6 小时
 楼主| 发表于 2016-7-11 08:31:06 | 显示全部楼层
谢谢 zuozhongkai,我试试看一下
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-10-29
在线时间
6 小时
 楼主| 发表于 2016-7-12 09:24:01 | 显示全部楼层
原来的UCOSII配置文件:
#define OS_MAX_EVENTS            10u   /*系统最大事件数 Max. number of event control blocks in your application      */
#define OS_MAX_FLAGS              5u   /*系统最大的信号量集数Max. number of Event Flag Groups    in your application      */
#define OS_MAX_MEM_PART           5u   /*内存块数目 Max. number of memory partitions                             */
#define OS_MAX_QS                 5u   /* Max. number of queue control blocks in your application      */
#define OS_MAX_TASKS             20u   /* Max. number of tasks in your application, MUST be >= 2       */
改成:#define OS_MAX_EVENTS            20u   /*系统最大事件数 Max. number of event control blocks in your application      */
#define OS_MAX_FLAGS              10u   /*系统最大的信号量集数Max. number of Event Flag Groups    in your application      */
#define OS_MAX_MEM_PART           10u   /*内存块数目 Max. number of memory partitions                             */
#define OS_MAX_QS                 10u   /* Max. number of queue control blocks in your application      */
#define OS_MAX_TASKS             20u   /* Max. number of tasks in your application, MUST be >= 2       */
结果还是一样,只支持3个TCP连接,不知道哪里还需要改?
回复

使用道具 举报

11

主题

80

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4493
金钱
4493
注册时间
2016-8-2
在线时间
51 小时
发表于 2016-8-3 14:25:31 | 显示全部楼层
不知道楼主的问题解决了吗?我也遇到这个问题了? 建立两个客户端一个服务端,最晚连接的就会出错,但是单独两两运行都是OK的!(客客、客服)不知道如何修改了!
回复

使用道具 举报

11

主题

80

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4493
金钱
4493
注册时间
2016-8-2
在线时间
51 小时
发表于 2016-8-3 17:59:08 | 显示全部楼层
#define MEMP_NUM_NETBUF         4     //netbuf结构数  建立几个TCP连接该就定义几
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-4-23
在线时间
5 小时
发表于 2020-4-26 14:48:07 | 显示全部楼层
有用收藏了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 16:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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