您的位置:首页 > 其它

s5pc100开发板网卡驱动的移植

2015-11-23 08:44 253 查看
相关软件下载地址:http://pan.baidu.com/s/16yo8Y

fsc100开发板

交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc

平台代码修改

vim arch/arm/mach-s5pc100/mach-smdkc100.c

添加需要的头文件

#if defined (CONFIG_DM9000)

#include <linux/dm9000.h>

#include <linux/irq.h>

#endif

平台设备的添加

/* DM9000 Support */

#if defined(CONFIG_DM9000)

static struct resource dm9000_resources[] = {

[0] = {

.start= 0x88000000,

.end= 0x88000000 + 0x3,

.flags= IORESOURCE_MEM,

},

[1] = {

.start= 0x88000000 + 0x4,

.end= 0x88000000 + 0x4 +0x3,

.flags= IORESOURCE_MEM,

},

[2] = {

.start = IRQ_EINT(10),

.end = IRQ_EINT(10),

.flags= IORESOURCE_IRQ | IRQ_TYPE_LEVEL_HIGH,

},

};

static struct dm9000_plat_data s5pc100_dm9000_platdata = {

.flags= DM9000_PLATF_16BITONLY,

.dev_addr[0] = 0x00,

.dev_addr[1] = 0x00,

.dev_addr[2] = 0x3e,

.dev_addr[3] = 0x26,

.dev_addr[4] = 0x0a,

.dev_addr[5] = 0x00,

};

static struct platform_device s5pc100_device_dm9000 = {

.name= "dm9000",

.id= -1,

.num_resources= ARRAY_SIZE(dm9000_resources),

.resource= dm9000_resources,

.dev = {

.platform_data = & s5pc100_dm9000_platdata,

}

};

#endif

平台设备列表的添加:

在smdkc100_devices[]结构体数组中添加如下内容:

#if defined(CONFIG_DM9000)

&s5pc100_device_dm9000,

#endif

配置内核

$ make menuconfig

网络配置:

[*] Networking support (NEW) --->

Networking options --->

<*> Packet socket

<*> Unix domain sockets

[*] TCP/IP networking

[*] IP: multicasting

[*] IP: kernel level autoconfiguration

[*] IP: BOOTP support

网卡驱动配置

Device Drivers --->

[*] Network device support --->

[*] Ethernet (10 or 100Mbit) --->

<*> DM9000 support

网络文件系统的配置

File systems --->

[*] Network File Systems --->

<*> NFS client suppor

[*] NFS client support for NFS version 3

[*] NFS client support for the NFSv3 ACL protocol extension

[*] Root file system on NFS

编译内核,并拷贝到tftpboot目录下

$ make zImage

$ cp arch/arm/boot/zImage /tftpboot

启动开发板,修改内核启动参数,通过NFS方式挂载根文件系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: