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方式挂载根文件系统
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方式挂载根文件系统
相关文章推荐
- Django-Rest-Framework 教程: 快速入门
- jquery实现cookie存取值
- [数据结构]栈的基本操作
- 基于stm32的遥控小船(四)矩阵键盘
- jquery实现时间走动
- 1.1 Java ME
- PHP常用工具类大全
- 服务端刷新
- 常用的网络配置命令 ifconfig 所在的包
- flex 事件注册和鼠标拖动
- 安全机制了解
- virtualbox开启支持64位系统安装功能
- mysql存储过程实例
- 缓冲区溢出学习
- 《软件需求模式》阅读笔记之二
- 字符串时间转时间类型&&设置select选中项
- centos的网路配置文件的位置
- Ubuntu 安装golang环境及环境变量设置
- 日期验证规则(兼容yyyy-mm-dd yyyy-m-d)
- Mac下为SublimeText安装与配置HTML CSS JS 格式化插件-超级好用,步骤100%验证