caritas 发表于 2005-1-4 18:02:17

求skyeyene2k.[ch] for armlinux

大家好!
现在正在学习使用skyeye研究嵌入式Linux系统和Linux内核。
感谢skyeye对我的帮助。
不过,有一个问题向大家求助。

在向linux (linux-2.4.24 + vrs1(from www.arm.linux.org.uk) patched)
添加网络支持时(使用的skyeye配置为ep7312),我使用了来自
uclinux4skyeye中的skyeyene2k.。网络似乎可以工作,但当使用
ping时,skyeye会发出如下警告:

skyeye:write data to nic is bigger than 256R 0,ff00a000,ffffffff,ff00a01c,
c00fd490,21,1,c00f7f98,c00f7f98,ffffffff,c0030af0, 0,0,c00f7f50,
0,c009c820,C 20000093,S 0,0,60000093,60000013, 60000093,
0,0,M 13,B 3,E 0,I 0,P c0035620,T 0,L eb004dfd,D eb001564,

但是在skyeye-binary-testutils-1.0.7中的ep7312_with_net不会出现这
样的警告。从提示信息和gdb提示信息看,它使用的好象是一种改进过
的skyeyene2k驱动。不知怎样可以得到这个改进过的驱动。

谢谢了!

halfyear 发表于 2005-1-5 11:25:01

由于你所用的skyeyene2k.是针对AT91开发板的,需要做一些修改:
(1)最简单的办法,只修改skyeyene2k.h即可
注释掉自己所用的skyeyene2k.h的第14~17行,再相应添加四行即可:
//#define AT91_NET_BASE    (0xfffa000)
//#define NE_BASE                AT91_NET_BASE
//#AT91_NET_SIZE                255
//#AT91_NET_IRQNUM         16

#define AT91_NET_BASE(0xff00a000)
#defineNE_BASE               AT91_NET_BASE
#AT91_NET_SIZE            255
#AT91_NET_IRQNUM      5

(2)为了避免名称上的混淆,同时修改skyeyene2k.h和skyeyene2k.c
skyeyene2k.h:
//#define AT91_NET_BASE    (0xfffa000)
//#define NE_BASE                AT91_NET_BASE
//#AT91_NET_SIZE                255
//#AT91_NET_IRQNUM         16

#define EP7312_NET_BASE(0xff00a000)
#defineNE_BASE               EP7312_NET_BASE
#EP7312_NET_SIZE            255
#EP7312_NET_IRQNUM      5

skyeyene2k.c
用EP7312_NET_BASE      替换相应的AT91_NET_BASE
用EP7312_NET_IRQNUM   替换相应的AT91_NET_IRQNUM
页: [1]
查看完整版本: 求skyeyene2k.[ch] for armlinux