求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驱动。不知怎样可以得到这个改进过的驱动。
谢谢了! 由于你所用的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]