This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: AM4379

 我在使用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超时主动断开连接是正常的,如下图

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