主题 : DM9000 16bit 操作问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 8689
精华: 0
发帖: 5
金钱: 50 两
威望: 25 点
综合积分: 10 分
注册时间: 2009-09-02
最后登录: 2009-09-09
楼主  发表于: 2009-09-07 12:49

 DM9000 16bit 操作问题

最近在移植DM9000驱动,到发包这个步骤了

发现只要我把08 06 00 01这样的串送给eth_send去发,用抓包工具就会抓到08 08 06 06 00 00 01 01这样的包,就是每个字节都重复一次,有高手知道这是为什么吗

eth_send都没改, 照抄着,送数据的地方
#ifdef CONFIG_DM9000_USE_16BIT
    tmplen = (length + 1) / 2;
    for (i = 0; i < tmplen; i++)
        DM9000_outw(((u16 *) data_ptr), DM9000_DATA);

#endif    

ISR的bit7 bit6 也是00 代表16bit了

#define vBWSCON            0x221dd110  也已经设置成16bit 位宽了

还有就是这个时候读取PHY寄存器返回都是F000 ,  这是哪里问题啊?
级别: 新手上路
UID: 8689
精华: 0
发帖: 5
金钱: 50 两
威望: 25 点
综合积分: 10 分
注册时间: 2009-09-02
最后登录: 2009-09-09
1楼  发表于: 2009-09-07 14:56
咋没人回答呢