5053|20

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

移植网卡驱动 读DM9000 ID的问题 有做过的进来帮忙看看 [复制链接]

读出的ID总不对   
   平台2440  DM9000  接片选4
#define BSP_BASE_REG_PA_DM9000_IOBASE           0x20000300

DNW输出如下:
  
   
Initiating image download in 4 seconds.

Ethernet Boot Loader Configuration:

0) IP address: 192.168.1.173
1) Subnet mask: 255.255.255.0
2) DHCP: Disabled
3) Boot delay: 5 seconds
4) Reset to factory default configuration
5) Startup image: DOWNLOAD NEW
6) Program disk image into SmartMedia card: Disabled
7) Program DM9000 MAC address (00:11:22:33:44:55)
8) Kernel Debugger: ENABLED
9) Format Boot Media for BinFS
F) Low-level format the Smart Media card
D) Download image now
L) LAUNCH existing Boot Media image
U) DOWNLOAD image now(USB)
R) Read Configuration
W) Write Configuration Right Now

Enter your selection: d
DM9000 Init(0xA8000300, 00:11:22:33:44:55)
DM9000 signature is 0xD9595B46   
DM9000 unknown device
val =00005901, m_nIoMode:00000002  m_nIoMaxPad:00000001
System ready!
Preparing for download...
INFO: *** Device Name 'SMDK244017493' ***
INFO: Using static IP address 1218113.
INFO: Using subnet mask 2525250.
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255

最新回复

不知道解了没,您的问题具体我不太清楚,不过我们公司是DIVACOM在中国区域的总代理,多年来一直专注于做DM9000及DIVACOM全线产品,通过我们可以的到原厂的工程师做技术支持,当然,是免费提供的,我的联系方式  您如果有需要的话可以联系我  QQ:1259987438 电话:027-8765163610 (0)13554272382 王洪武  详情 回复 发表于 2009-12-10 14:42
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Can't create hard link.  (FAT file system?)
Copying files instead of creating hard links.
每次编译出现这样的提示   
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
EBOOT里面用   忘说了  不能编辑了   
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 
顶下,我都有这问题
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
查下驱动。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

6
 
驱动是可以用的   这个可以保证没问题
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
因为上别的系统  可以上网了   并没有两块网卡
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

8
 
硬件有没有问题呢。有没有用示波器量过cs、 we、oe ,还有总线开关。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
[code]
        dm9000_reset(db);

        /* try multiple times, DM9000 sometimes gets the read wrong */
        for (i = 0; i < 8; i++) {
                id_val  = ior(db, DM9000_VIDL);
                id_val |= (u32)ior(db, DM9000_VIDH) << 8;
                id_val |= (u32)ior(db, DM9000_PIDL) << 16;
                id_val |= (u32)ior(db, DM9000_PIDH) << 24;

                if (id_val == DM9000_ID)
                        break;
                dev_err(db->dev, "read wrong id 0x%08x\n", id_val);
        }
[code]
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

10
 
没用过EBOOT呢,
DM9000 Init(0xA8000300, 00:11:22:33:44:55) 这里你直接用物理地址试试


**************************
飞凌嵌入式 www.witech.com.cn   
**************************
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
硬件也没得问题的  因为上过系统  都可以上网的
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
两次读到的不一样

DM9000 signature is 0xD9595B46

DM9000 signature is 0xD959FF46

/* try multiple times, DM9000 sometimes gets the read wrong */     难道真要这样?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
大多数情况下读到的还是DM9000 signature is 0xD959FF46    可以看出最后两位始终读的是对的  所以我并不怀疑是我IOBASE设置错误
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

14
 
通信不正常?还是焊接有问题?
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

15
 
static void
dm9000_reset(board_info_t * db)
{
        dev_dbg(db->dev, "resetting device\n");

        /* RESET device */
        writeb(DM9000_NCR, db->io_addr);
        udelay(200);
        writeb(NCR_RST, db->io_data);
        udelay(200);
}

/*
*   Read a byte from I/O port
*/
static u8
ior(board_info_t * db, int reg)
{
        writeb(reg, db->io_addr);
        return readb(db->io_data);
}

/*
*   Write a byte to I/O port
*/

static void
iow(board_info_t * db, int reg, int value)
{
        writeb(reg, db->io_addr);
        writeb(value, db->io_data);
}
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
id都读不正确,怎么正常上网。难道你是双网卡?如果这样,也只能证明你的系统其他部分没问题啊。如果是后来添加的网卡,cpld或fpga的逻辑有没有检查过。
 
 
 

回复
yiqing198q 该用户已被删除
17
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 
[code]
/*
*  Read a byte from I/O port
*/
static u8
ior(board_info_t * db, int reg)
{
writeb(reg, db->io_addr);
return readb(db->io_data);
}

/*
*  Write a byte to I/O port
*/

static void
iow(board_info_t * db, int reg, int value)
{
writeb(reg, db->io_addr);
writeb(value, db->io_data);
}
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
重新整了下    整好了  果真还是读写的问题   拿到个错的整死我了    结帖了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 
什么读写有问题?能详细说明一下吗?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表