13427|29

60

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

6410 Wince6.0 DM9000AEP 能读取ID,ping不通 [复制链接]

我在三星6410的BSP包里添加DM9000A的驱动,目前能读取到Chipid,但不知道为什么ping不通,网络说什么就是不好用,以下是我在eboot下添加的内容
1. 我采用的是CSn4,bsp_base_reg_cfg.h
   #define BSP_BASE_REG_PA_CS8900A_IOBASE         (0x30000000)
   #define BSP_BASE_REG_PA_CS8900A_MEMBASE        (0x30000000)
2.eboot/ether.c
   #define DM9000A_Tacs    (0x0)    // 0clk
   #define DM9000A_Tcos    (0x0)    // 4clk
   #define DM9000A_Tacc    (0x7)    // 14clk
   #define DM9000A_Tcoh    (0x0)    // 1clk
   #define DM9000A_Tah     (0x0)    // 4clk
   #define DM9000A_Tacp    (0x0)    // 6clk
   #define DM9000A_PMC     (0x0)    // normal(1data)

   InitSROMC_CS8900()中修改如下:
        s6410SROM->SROM_BW = (s6410SROM->SROM_BW & ~(0xF<<16)) |
                                (1<<16); // Data bus width control for Memory Bank4 (0=8-bit, 1=16-bit)

        s6410SROM->SROM_BC4 = ((DM9000A_Tacs<<28)+(DM9000A_Tcos<<24)+(DM9000A_Tacc<<16)+(DM9000A_Tcoh<<12)\
                                +(DM9000A_Tah<<8)+(DM9000A_Tacp<<4)+(DM9000A_PMC));

   InitEthDevice()中修改如下L:
        pfnEDbgInit      = DM9000DBG_Init;
        pfnEDbgGetFrame  = DM9000DBG_GetFrame;
        pfnEDbgSendFrame = DM9000DBG_SendFrame;

DNW中打印如下:
   Enter your selection: d
   0xBA000000 0xBA000000
   DM9000 ID is 0x90000a46
   INFO: Probe: DM9000 is detected.
   DM9000: MAC Address: 11:22:33:44:55:66
   System ready!
   Preparing for download...
   INFO: *** Device Name 'SMDK641021862' ***
   INFO: Using static IP address 1218728.
   INFO: Using subnet mask 2525250.
   +EbootSendBootmeAndWaitForTftp
   Sent BOOTME to 255.255.255.255
   Sent BOOTME to 255.255.255.255

BSP中添加驱动后,作了一些修改后效果同样,只能读取到ID,请各位大侠指点一下,到底是哪方面的问题

最新回复

一般应该是中断问题。 因为你可以读取正确的id,说明连接线没有问题。 剩下就是中断了。  详情 回复 发表于 2010-6-21 09:55
点赞 关注

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
网络没设置好吧
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
BOOT中好像不支持PING吧。
另外,需要考虑一下中断。
以前在调试DM9000驱动时,也是能读到ID,但不能通讯,后来发现是中断的问题。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
另外硬件连通了吗?

连上网线,对应的绿色指示灯 都亮了吗?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
应该是中断问题
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
板子和PC/交换机连接,PC上显示已连接,交换机对应端口的灯也亮,唯一不同的就是我这面板子有的灯亮有的不亮,亮的效果也是如此。

在我印象中Boot好像不用中断吧,因为CE里面我也添加驱动效果同样,而涉及到的东西太多,我才想用Boot作测试,用示波器看cs# IOW# IOR#都有波形。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

7
 
boot 没有用中断
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
不知道是什么原因,好像是网络变压器挑网线和交换机,直连现在能看到网络的连接状态是通的,现在有以下情况发生;
1.PC ping丢包严重,WINCE下板子ping出错,错误信息“ping : transmit failed, error code 11010”
2.Boot下用vs2005中的target能看到板子,但Attach时看不到连接下载信息
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 jyoshou 的回复:
不知道是什么原因,好像是网络变压器挑网线和交换机,直连现在能看到网络的连接状态是通的,现在有以下情况发生;
1.PC ping丢包严重,WINCE下板子ping出错,错误信息“ping : transmit failed, error code 11010”
2.Boot下用vs2005中的target能看到板子,但Attach时看不到连接下载信息


这个以前也碰到过,估计是硬件的问题,软件大概无能为力了。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

10
 
  如果有多台设备,注意他们的网卡地址是否重复了。我以前也是2快开发板练到一个网就不行,后来发现网卡驱动取的是固定的物理地址。后面改了之后就正常了
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 
我想请问一下DM9000AEP应该采用动态申请中断还是静态的,由于在intr.c中看到6410默认用的EINT10动态申请,所以仅添加了对EINT10的控制,如下:
    // EINT10(GPN10)->IRQ_LAN
    pGPIOReg->GPNCON    = ( pGPIOReg->GPNCON & ~(0x3<<20) ) | (0x2<<20);      // IRQ_LAN by EINT10 (GPN10)
    pGPIOReg->GPNPUD    = ( pGPIOReg->GPNPUD & ~(0x3<<20) ) | (0x0<<20);      // pull-up/down disabled
    pGPIOReg->EINT0CON0 = ( pGPIOReg->EINT0CON0 & ~(0x7<<20)) | (0x1<<20);    // High level triggered
注册表中把sysintr字段屏蔽了,DNW打印如下内容:


[dm9: Tries to map io space with 30000000]
[dm9: The mapped address is D2B10000]
[dm9: Chip signature is 0A469000]
-OALIntrRequestSysIntr(irq = 10, sysIntr = 27)

再就是不断触发的中端 C_DM9000::DeviceEnableInterrupt,不知道动态申请对ping返回的error 11010有没有影响
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

12
 
我将PC机网卡的网速降到10M,PC Ping板子一点丢包都没有,但板子仍然是“ping : transmit failed, error code 11010”这个错误,有知道这个错误是什么原因导致的么,请各位帮帮忙
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 10 楼 jyoshou 的回复:
我想请问一下DM9000AEP应该采用动态申请中断还是静态的,由于在intr.c中看到6410默认用的EINT10动态申请,所以仅添加了对EINT10的控制,如下:
// EINT10(GPN10)->IRQ_LAN
pGPIOReg->GPNCON = ( pGPIOReg->GPNCON & ~(0x3<<20) ) | (0x2<<20); // IRQ_LAN by EINT1……


动态申请中断,如果正确了,应该也是没有问题的。
我想这个地方不是问题的关键。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

14
 
DM9000AEP移植帖子应该比较多了,搜索一下就有了。改的地方相当少。很久没来wince区了。

linux整的一头雾水!神那~~~~~~~
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

15
 
我也是碰到的这个问题啊,串口信息:
INFO: Using device name: 'MBA24407'
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
PB中一直显示不出设备名称
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

16
 
本人的是PB可以显示设备名称,但是总是丢包again,看来不光我一个有问题
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 15 楼 seu_dust 的回复:
本人的是PB可以显示设备名称,但是总是丢包again,看来不光我一个有问题

可以把PC上和板子上的网络设置贴上来么
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

18
 
我在北京盟石的开发板上的调试经验,供大家参考:
1.串口能出现Sent BOOTME to 255.255.255.255的信息,但PB中一直显示不出设备名称:第一可能DM9000芯片坏了(市场上的二手旧芯片有可能出这问题),换个芯片就解决。第二种可能,CPU和DM9000的16条数据线有短路的情况,用示波器挨个检查16条数据线的波形,如果发现波形异常,则可能是这个原因。波形异常的表现有幅度不够3V,波形畸变等。
2.能显示设备名称,能连接,总是丢包:如果PCB Layout本身没问题,则十有八九是DM9000芯片坏了,中发市场上99.2%的DM9000是二手的。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

19
 
之前遇到这的这问题已经解决了,是DM9000的驱动问题,你仔细的研究下,接收的函数~~
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

20
 
eboot里面也可以用中断吗?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表