TMS320C6748: 使用NDK实现TCP传输时,网络模块运行几天后退出 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 229|回复: 0

[未解决] TMS320C6748: 使用NDK实现TCP传输时,网络模块运行几天后退出

[复制链接]

8

主题

21

帖子

1197

积分

金牌会员

Rank: 6Rank: 6

积分
1197
发表于 2022-8-8 22:41:21 | 显示全部楼层 |阅读模式
系统sysbiosCPUTMS320C6748,使用NDK建立网络模块,在TCP.c中设置超时时间为7200s,如下:
int TcpTest(SOCKET s, UINT32 unused)
{
        struct timeval to;
        。。。
        // 配置超时时间 7200
        to.tv_sec = 7200;
        to.tv_usec = 0;
        setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to));
        setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
        。。。
        while(1)
        {
                。。。
        }
        。。。

}
电路板卡跟电脑连接,电路板为服务器电脑应用程序为客户端。客户端与服务器建立连接后,客户端每隔30s向服务器发送一次报文,服务器接收到该报文后回传采集的数据。起初系统正常运行,但是程序运行2~3天之后网络模块会停止运行,在电脑(客户端)上也ping不通板卡,此时系统正常运行(打印信息正常)。
在源文件message.c中的线程message_thread要使用send()函数向客户端发送数据,因此使用fdOpenSessionfdCloseSession,代码如下:
void message_thread(UArg arg0, UArg arg1)
{
        。。。
        while(1)
        {
                fdOpenSession((HANDLE)tsk_message_thread);
                。。。// 应用程序,功能是实现向客户端发送数据,此处省略
                fdCloseSession((HANDLE)tsk_message_thread);
                Task_sleep(5);
        }

}

请问坛友们:
1、上述情况大概是什么原因导致的?怎么样能定位问题所在?
2、大多数情况下,哪些因素会导致网络模块停止运行?

我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有0人回答
最近访问 头像模式 列表模式
回复

使用道具 举报

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

本版积分规则  回帖提醒

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号  

GMT+8, 2022-9-25 10:57 , Processed in 0.073896 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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