TI中文支持网
TI专业的中文技术问题搜集分享网站

AM437x以太网通讯(基于NIMU_BasicExample_idkAM437x)问题:TCP客户端主动断开连接后AM437x死机

 我在使用AM437x进行以太网通讯测试,端口为EMAC,开发包为pdk_am437x_1_0_4和ndk_2_24_03_35;

基于NIMU_BasicExample_idkAM437x,在该例程上添加了netOpenHook和netCloseHook钩子函数,在netOpenHook使用DaemonNew创建了TCP Server:

tcpHandle = DaemonNew( SOCK_STREAMNC, 0, 502, dtask_tcp_502,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3 );

在dtask_tcp_502任务中添加了数据收发处理代码(socket超时按照5s设置),客户端连接上可以正常进行数据收发。

现在遇到的的问题是:如果客户端在连接上后,不发送任何数据,在超时5s内主动断开连接,Server马上进入死机状态,ip地址无法ping通,其他Task执行也出现问题。

使用wireshark抓包后发现,Server只发送了ACT,没有发送FIN,没有完成正常tcp断开连接的四次握手。

 而正常情况,Serer超时主动断开连接是正常的,如下图

请问如何找到问题所在???

user4941429:

您好,我现在也在做这个例程,但是我的好像出了一点问题,在以太网配置那里好像有点儿问题。能解答一下吗?
以太网刚开始配置的那里,请问是怎么配置的?

yongqing wang:

回复 user4941429:

可以参考一下这个帖子

user4941429:

回复 yongqing wang:

已经做好了, 想再问一下,有没有双网口的例程呢?

yongqing wang:

回复 user4941429:

参考这个块板子的历程:www.ti.com.cn/…/tmdxsk437x

yongqing wang:

回复 yongqing wang:

你也可以参考广州创龙的AM4379开发板,提供linux双网卡历程

赞(0)
未经允许不得转载:TI中文支持网 » AM437x以太网通讯(基于NIMU_BasicExample_idkAM437x)问题:TCP客户端主动断开连接后AM437x死机
分享到: 更多 (0)