按网上一兄弟的cs8900做法也没成功!
没成功的判断,是启动时根本就没看到cs8900字样的信息, 大家看看如下的步骤是否有遗漏?转载: http://blog.chinaunix.net/u3/110576/showart_2156463.html
移植cs8900驱动到2.6.32.3的S3C2410
1.将drivers/net/cs89x0.c,cs89x0.h两个文件复制到drivers/net/arm目录下
2.修改arch/arm/mach-s3c2410/mach-smdk2410.c
添加
#define pSMDK2410_ETH_IO 0x19000000
#define vSMDK2410_ETH_IO 0xE0000000
#define SMDK2410_ETH_IRQ IRQ_EINT9
在map_desc smdk2410_iodesc[]
中添加cs8900的对于的io空间映射
static struct map_desc smdk2410_iodesc[] __initdata = {
/* nothing here yet */
{ vSMDK2410_ETH_IO , pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE },
};
3.在drivers/net/arm/Kconfig中增加CS8900编译选项
configARM_CS8900
tristate "CS8900 support"
depends on NET_ETHERNET && ARM && ARCH_SMDK2410
help
Support for CS8900A chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO,available from as well as .To compile this driver as a module, choose M here and read .The module will be called cs8900.o.
4. 在/drivers/net/arm/Makefile中添加
obj-$(CONFIG_ARM_CS89x0) += cs8900.o
5. 执行make menuconfig
Device drivers->network device support->Ethernet中选择(*)CS8900 support.
2.6内核网卡驱动制作成功,skyeye已识别。祝贺一下。
主要修改步骤:1.将附件中的cs8900.c和cs8900.h复制到 [linux kernel]/drivers/net/arm目录下,文件无须修改,适合友善之臂 linux-2.6.32.2内核;
2.创建[linux kernel]/include/asm-arm/arch-s3c2410(没有就新建)/smdk2410.h文件,内容如下:
#ifndef _INCLUDE_SMDK2410_H_
#define _INCLUDE_SMDK2410_H_
#define pSMDK2410_ETH_IO __phys_to_pfn(0x19000000)
#define vSMDK2410_ETH_IO 0xE0000000
#define SMDK2410_EHT_IRQ IRQ_EINT9
#endif //_INCLUDE_SMDK2410_H_
3.修改[linux kernel]/drivers/net/arm/Kconfig文件,末尾增加如下内容:
config ARM_CS8900
tristate "CS8900 support"
depends on NET_ETHERNET && ARM && ARCH_SMDK2410
help
Support for CS8900A chipset based Ethernet cards. If you have
a network (Ethernet) card of this type, say Y and read the
Ethernet-HOWTO, available from as well as . To compile this driver
as a module, choose M here and read. The module will be called cs8900.o.
4.修改[linux kernel]/drivers/net/arm/Makefile文件,末尾增加如下内容:
obj-$(CONFIG_ARM_CS8900) += cs8900.o
5.修改[linux kernel]/arch/arm/mach-s3c2410/mach-smdk2410.c文件,修改如下:
新增: #include "asm/arch-s3c2410/smdk2410.h"
修改:
static struct map_desc smdk2410_iodesc[] __initdata = {
/* nothing here yet */
{ vSMDK2410_ETH_IO , pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE },
};
6. 修改[linux kernel]/include/linux/netdevice.h文件,修改如下:
找到struct net_device结构体,在结构体中增加void *priv;
所有修改完毕后就可以make了:-D xieixe !!!
回复 14# tsinghuayuan86 的帖子
我想请问一下我的这个事什么原因啊?(skyeye)target sim
target: No such command for skyeye.
(skyeye)load
load: No such command for skyeye.
(skyeye)
回复 19# solylee 的帖子
现在是start然后run;可以help看看
页:
1
[2]