在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 7876|回复: 22

给liuiang

[复制链接]
发表于 2005-5-11 12:44:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
你之前不是做过LWIP在pnx1500下的移植,能不能发给我参考一下!
wedoblsn◎yahoo.com.cn
发表于 2005-5-11 16:36:41 | 显示全部楼层

给liuiang

很抱歉,,我没有权限发布或传阅那个东西,,帮不了你,,如果有问题大家可以讨论。
 楼主| 发表于 2005-5-12 12:06:51 | 显示全部楼层

给liuiang

我现在调试UDP,发送没问题,接收时在执行到ip.c的ip_input()函数,如果设置输出信息可以看到输出信息显示接收到20个字节(pc端发送了20个字节数据),但是我的主程序却收不到数据,而且接收过程如果在某个地方设置输出信息接收过程就会停止不再继续执行,如在某个地方设置两个printf,则只有第一个会被执行,不知道是什么原因。liuiang大侠帮忙分析一下,不知道你是否有碰到过类似的情况!
发表于 2005-5-12 22:56:45 | 显示全部楼层

给liuiang

ndk环境的printf有三个问题:
1,printf所打印的字符穿必须以回车'\n结尾
2,在中断中printf可能会有问题,
3,多线程同时工作没有保护,有时会被调度中断。
请确定这三个注意。。
 楼主| 发表于 2005-5-13 10:03:46 | 显示全部楼层

给liuiang

谢谢,我之前确实有碰到过这些问题,我还以为是我的程序问题
现在我的UDP已经通了,tcp可以发送数据,不能接收
我用sniffer查了一下,tcp发送数据前connect建立连接时本来应该有三次握手的,lwip发送一个,pc端回应一个,lwip再回应一个,这样才能建立连接,
但是实际上lwip没有再回应而是直接就开始发送数据了,我看了lwip的代码,好像它确实是这样处理的,这样跟我的pc端的程序就会出错。不知道是不是这个问题?
 楼主| 发表于 2005-5-13 10:19:56 | 显示全部楼层

给liuiang

还有就是优先级的问题了,ucosii的优先级是越小越高,而psos的优先级是越大越高,对lwip,应该有三个地方要设置优先级,一个是lwip初始化,一个是socket进程,一个是lwip初始化后建立的tcpip_thread进程(多个),不知道你是怎么设置这三个进程的优先级的?
发表于 2005-5-14 16:10:48 | 显示全部楼层

给liuiang

tcp是三次握手,我记不得最最原始的lwip代码是怎么处理的,,
我们的处理是将第三次的握手丢到发送队列里面,启动发送。
关于优先级问题要看你优化的lwip性能和你其他任务开销,,
要综合考虑,,我们处理是低于视频处理优先级,,
因为在我们的系统里面,,网络是局域网,,相对干净一些。
 楼主| 发表于 2005-5-16 16:48:14 | 显示全部楼层

给liuiang

谢谢!
还是关于printf的问题,我现在试着要去掉所有的printf,结果在初始化的时候我本来设置如下:
tmEthTtcpIoctl( TM_ETHTTCP_AUTONEG,  &autoNeg);
printf("If Auto-Negotiation OK,press Enter!\n");
getchar();
我是把pnx1500和pc用网线直接连接的,如果初始化时的自适应过程成功,pc端的就会提示连接成功,然后我再按enter键让pnx1500继续执行,后面可以顺利发送tcp数据,现在我改成如下:
tmEthTtcpIoctl( TM_ETHTTCP_AUTONEG,  &autoNeg);
tmEthTtcpIoctl( TM_ETHTTCP_STATUS,  &CurrentStatus);
while(CurrentStatus.linkStatus != TM_ETHTTCP_LINK_OK)
    {tmEthTtcpIoctl( TM_ETHTTCP_STATUS,  &CurrentStatus);}
tmosalTaskSleep(3000);
就是在启动自适应过程后然后循环读取pnx1500的网络状态,如果自适应完成(已建立连接),再延迟一段时间,然后再继续执行,这样应该是没问题的,但改完后就编程tcp只能执行到连接部分不再发送数据了。
printf应该是只影响到程序的执行时间,不会影响到任务的优先级的吧?
 楼主| 发表于 2005-5-18 15:04:26 | 显示全部楼层

给liuiang

谢谢liuiang大侠的支持,我的LWIP已经tcp和udp都可以工作了,目前正在做全面的测试和优化。
 楼主| 发表于 2005-5-24 13:19:01 | 显示全部楼层

给liuiang

LWIP应该没什么问题吧,我用的是lwip1.1.0版本的,我的select函数udp可用,tcp不可用,不知道你们是否有碰到这个问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-9 21:30 , Processed in 0.022211 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表