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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2388|回复: 1

关于8900的驱动问题,请高手指点!

[复制链接]
发表于 2007-5-5 00:49:44 | 显示全部楼层 |阅读模式

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

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

x
我的板子是2410的,与公板一致。

移植cs8900的vxworks驱动的时候,参考的是网上可以找到的驱动文件,文件名为csend.c,csSysEnd.c那个版本。

发现移植后,在进行fxp的时候,在host没有抓到任何数据包。在排除硬件链路的故障的情况下,我按照uboot的方式进行初始化8900。

如下:
   csWritePacketPage(pCS, PKTPG_RX_CFG, 0);

   csWritePacketPage(pCS, PKTPG_RX_CTL,(RX_CTL_RX_OK_A|RX_CTL_IND_A|RX_CTL_BCAST_A));

   csWritePacketPage(pCS, PKTPG_TX_CFG, 0);
   
   csWritePacketPage(pCS, PKTPG_BUF_CFG, 0);
   
   csWritePacketPage( pCS, PKTPG_LINE_CTL,LINE_CTL_RX_ON | LINE_CTL_TX_ON );
                     
   pIA = (PIA)pCS->enetAddr;
   csWritePacketPage( pCS, PKTPG_IND_ADDR,   pIA->word[0] );
   csWritePacketPage( pCS, PKTPG_IND_ADDR+2, pIA->word[1] );
   csWritePacketPage( pCS, PKTPG_IND_ADDR+4, pIA->word[2] );

将8900的工作模式设定为io模式和poll输出模式。

当执行到fxp的时候,发出的3次数据包如下:

ffffffffffff87420a780608100840610087420a780a8c0a12000a8c0212

ffffffffffff87420a780608100840610087420a780a8c0a12000a8c0212

ffffffffffff87420a780608100840610087420a780a8c0a12000a8c0212

最后提示如下:
Error loading file: errno = 0x3c.
Can't load boot file!!

我的host的ip为192.168.18.2,目标机ip为:192.168.18.10。发送的指令为0xc0,长度为42。

感觉到很奇怪,为了验证发包是否正确,我用其它机器进行ping包,并用sniff抓到ping的包结构,如下:

45003c4bdc08001498fc0a8120ac0a81202800475c2004006162636465666768696a6b6c6d6e6f7071727374757677616263646566676869

将这个共计60个byte的包写到8900里面进行发送,发现调用while( !TX_EVENT_TX_OK & csReadPacketPage(pCS,PKTPG_TX_EVENT))说明包发送完毕后,

在host侧仍然无法抓到任何包。

为了验证,将上面的ping包结够改为只需要协义中的前面28字节也不行。

修改过发送指令,包括选则pad,选则crc等组合都不生效,即无法抓到包。

甚是怀疑8900的芯片寄存器配置的问题,但是根据手册和linux的源代码没有找到原因,请高手帮忙分析指导一下,万分感谢!

cumedl@gmail.com
 楼主| 发表于 2007-5-5 11:57:14 | 显示全部楼层

顶起来!

顶起来!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 22:38 , Processed in 0.020529 second(s), 10 queries , Gzip On, Redis On.

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