Linux开发十八_网卡驱动
来源:互联网 发布:手机淘宝如何发布二手 编辑:程序博客网 时间:2024/06/04 18:39
Linux开发十八
网卡驱动
象棋小子 1048272975
Internet作为全球最大的互联网络,几乎总汇了全球的信息资源,越来越多的设备需要连接Internet,共享信息资源。Linux内核已经支持dm9000网卡驱动。
1. dm9000设备
dm9000设备包含了名字、独有的资源等等一些驱动程序的硬件或自定义信息。通过platform_add_devices(platform_device_register)函数将定义的平台设备注册到内核中,用于匹配设备驱动。
内核在drivers\net\ethernet\davicom\dm9000.c中实现了dm9000的网卡驱动, dm9000设备平台代码如下。
#include <linux/dm9000.h>
#define MACH_HOME2416_DM9K_BASE (S3C2410_CS1 + 0x0)
/* DM9000AEP 10/100 ethernet controller*/
static struct resourcehome2416_dm9k_resource[] = {
[0]= DEFINE_RES_MEM(MACH_HOME2416_DM9K_BASE, 4),
[1]= DEFINE_RES_MEM(MACH_HOME2416_DM9K_BASE + 4, 4),
[2]= DEFINE_RES_NAMED(IRQ_EINT4, 1, NULL, IORESOURCE_IRQ \
|IORESOURCE_IRQ_HIGHEDGE),
};
static struct dm9000_plat_datahome2416_dm9k_pdata = {
.flags = (DM9000_PLATF_16BITONLY |DM9000_PLATF_NO_EEPROM),
.dev_addr= {0x00, 0x22, 0x12, 0x34, 0x56, 0x90}
};
static struct platform_devicehome2416_device_eth = {
.name = "dm9000",
.id = -1,
.num_resources = ARRAY_SIZE(home2416_dm9k_resource),
.resource = home2416_dm9k_resource,
.dev = {
.platform_data = &home2416_dm9k_pdata,
},
};
在static struct platform_device*home2416_devices[]板级平台设备列表中加入&home2416_device_eth,使dm9000设备能够注册到内核中。
2. 内核配置
Linux配置支持dm9000设备驱动,选中Device Drivers->Network devicesupport->Ethernet driver support->DM9000 support。
Linux配置支持tcpip协议,选中Networkingsupport->Networking options->TCP/IP Networking。
3. 网卡测试
网线连接板端以及主机,主机端采用静态ip,192.168.0.10。板启动后,设置板端ip,192.168.0.20。
ifconfig eth0 192.168.0.20 up
主机端ping板端,ping 192.168.0.20。
板端ping主机端,ping 192.168.0.10。
4. 附录
https://pan.baidu.com/s/1slczwhJ
bootloader源码以及使用说明
https://pan.baidu.com/s/1eRDJtNs
Qt5.8官网源码
https://pan.baidu.com/s/1nuGmSqt
本系列例程的根文件系统
https://pan.baidu.com/s/1i5btLGT
opev3.2.0官网源码
https://pan.baidu.com/s/1pLpuHw3
yaffs官网源码
https://pan.baidu.com/s/1bpkZynt
busybox-1.26.2官网源码
https://pan.baidu.com/s/1i4EtjfR
tslib官网源码
https://pan.baidu.com/s/1i5MGRhb
mplayer-1.3.0官网源码
https://pan.baidu.com/s/1sl0fXlr
基于S3C2416修改的linux-4.10.10源码
- Linux开发十八_网卡驱动
- Linux网卡驱动开发总结
- S3C2416裸机开发系列十八_音频驱动实现(1)
- S3C2416裸机开发系列十八_音频驱动实现(2)
- [Linux驱动开发] 网络设备之虚拟网卡
- linux嵌入式开发平台网卡驱动解决办法
- linux网卡驱动开发一之网卡子系统模型
- S5PV210开发系列九_网卡驱动实现
- Linux驱动开发、16-回环网卡驱动设计
- Linux开发九_按键驱动
- Linux开发十一_看门狗驱动
- Linux开发二十_触摸屏驱动
- Linux网卡驱动
- Linux网卡驱动分析
- Linux网卡驱动分析
- Linux 网卡设备驱动
- LINUX加载网卡驱动
- Linux网卡驱动分析
- Redis集群管理
- Linux开发十七_yaffs文件系统
- gcc跨平台编译
- java编译与运行
- 单链表
- Linux开发十八_网卡驱动
- 文章标题
- java中==与equal的区别
- mybatis-spring整合异常SpringManagedTransaction.getTimeout()Ljava/lang/Integer
- Linux开发十九_nfs文件系统
- java编程中常见内容+++++++++++++++++++++++++++++++++++++++++++++++++++==
- STM32 最小系统 焊完之后的测试
- 循环赛日程表
- Linux开发二十_触摸屏驱动