硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2085|回复: 6
收起左侧

[RL-TCPnet] 求指教,Rl-TCP教程第19章,accept问题。

[复制链接]
回帖奖励 1 个金币 回复本帖可获得 5 个金币奖励! 每人限 1 次(中奖概率 10%)

2

主题

10

回帖

16

积分

新手上路

积分
16
发表于 2017-12-8 15:22:39 | 显示全部楼层 |阅读模式
按照论主写的 RL-tcpnet教程,前18章,很顺利的完成。
学到第19章时,BSD socket,程序到了accept这里,运行不下去了,阻塞了。原因不明,求指教。


程序状态 :FreeROTS版。
网络状态:程序刚下载后,能ping 通。



但是当我用网络助手,创建客户端,向192.168.1.100 端口1001,请求连接后。程序运行,卡在FreeRTOS库文件里面,queue里的一个地方。
1.png


网络助手向服务器端(板子)发送数据,程序依然卡在这个地方。
求大牛指教?这是怎么回事啊?
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
 楼主| 发表于 2017-12-8 15:29:19 | 显示全部楼层
但是我用的是固定ip,不知道是不是这个影响的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107470
QQ
发表于 2017-12-9 01:14:47 | 显示全部楼层

回 高高在下 的帖子

高高在下:但是我用的是固定ip,不知道是不是这个影响的 (2017-12-08 15:29)
固定IP没有关系。完全移植第19章的例子测试,是否有问题。
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
 楼主| 发表于 2017-12-11 10:43:57 | 显示全部楼层

回 eric2013 的帖子

eric2013:

固定IP没有关系。完全移植第19章的例子测试,是否有问题。
只完全移植了app_tcpnet_lib.c中代码。
运行  sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);/*返回值:socket句柄*/
sock 值是1,说明socket创建成功了。
运行到accept这句,就卡死在上面 queue里面。
如果,屏蔽accept,程序可以运行。
不知道为什么accept会调用到xQueueGenericReceive 这个函数。是我FreeRTOS 里面要配置什么吗?
大神帮我分析下,大约是什么地方的问题?万分感谢[s:126]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107470
QQ
发表于 2017-12-12 00:51:47 | 显示全部楼层

回 高高在下 的帖子

高高在下:只完全移植了app_tcpnet_lib.c中代码。
运行  sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);/*返回值:socket句柄*/
sock 值是1,说明socket创建成功了。
运行到accept这句,就卡死在上面 queue里面。
....... (2017-12-11 10:43)
可以对比我们的FreeRTOSConfig.h文件,看看有什么没使能的不。

另外有测试其它的例子不,可以测试个简单的,前面章节的TCP例子,可以测试个裸机的看看。
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
 楼主| 发表于 2017-12-12 17:16:54 | 显示全部楼层

回 eric2013 的帖子

eric2013:

可以对比我们的FreeRTOSConfig.h文件,看看有什么没使能的不。

另外有测试其它的例子不,可以测试个简单的,前面章节的TCP例子,可以测试个裸机的看看。
问题找到了,有一个任务,任务栈给小了。[s:123]
就会卡在queue里。
任务栈 “小” 的不同程度,对卡在不同的地方,有的在tasks里,有的在list里。有的会进hard fault。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107470
QQ
发表于 2017-12-13 01:00:15 | 显示全部楼层

回帖奖励 +5 个金币

回 高高在下 的帖子

高高在下:问题找到了,有一个任务,任务栈给小了。[s:123]
就会卡在queue里。
任务栈 “小” 的不同程度,对卡在不同的地方,有的在tasks里,有的在list里。有的会进hard fault。
 (2017-12-12 17:16) 
开大些保险,我们的可以打印任务栈执行情况,一般你开个1KB左右就行。如果局部变量较大,再开启大些。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-3 02:28 , Processed in 0.175767 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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