2 .在include/asm-arm/plat-s3c24xx/devs.h文件中 添加一行extern struct platform_device s3c_device_dm9000;

3 .在arch/arm/mach-s3c2410/mach-smdk2410.c 中将dm9000 加入到要初始化的设备链表里去,内核启动时将会检测设

备并加载驱动static struct platform_device *smdk2410_devices[] __initdata = {

&s3c_device_usb,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

&s3c_device_dm9000,//add for dm9000

};

4,以下是要在linux-2.6.24/drivers/net/dm9000.c 文件中添加的内容:

4.1为dm9000 添加硬件复位, 在dm9000_reset 函数开头添加以下代码:

/*reset hardware --add by Eric Fu */ p { margin-bottom: 0.21cm; }

s3c2410_gpio_cfgpin(S3C2410_GPG2,S3C2410_GPG2_OUTP);

s3c2410_gpio_setpin(S3C2410_GPG2,0);

udelay(500);

s3c2410_gpio_setpin(S3C2410_GPG2,1);

udelay(500);

s3c2410_gpio_setpin(S3C2410_GPG2,0);

udelay(500);

/*end of add*/注意: 网上很多移植都没有这一步, 但在我的板子上如果没有这一步, 但板子硬件复位后会出现系统找不到网卡设备, 并出现以下错误信息:

dm9000 Ethernet Driver

dm9000: read wrong id 0x00000000

dm9000: read wrong id 0x00000000

dm9000: wrong id: 0x00000000

dm9000: not found (0).

........

4.2 MAC地址设置:

在/* Set Node Address */

for (i = 0; i < 6; i++)

ndev->dev_addr[i] = db->srom[i];的后面if (!is_valid_ether_addr(ndev->dev_addr)) {

/* try reading from mac */

for (i = 0; i < 6; i++)

ndev->dev_addr[i] = ior(db, i+DM9000_PAR);

}的前面, 添加:

/*********** add by Eric Fu ************/

static char net_mac_addr[]={0x00,0xe0,0x3d,0xf4,0xdd,0xf7}; // 自己设的 MAC地址 ,随意设 ,尽量不要全 0或全 1

for(i=0;i<6;i++){

ndev->dev_addr[i]=net_mac_addr[i];

}

/******************end **************/

4.3设置外部中断:

(1) 在dm9000.c 添加以下头文件: 添加在所有头文件的尾部#include

#include

#include

#include

(2) 在4.2 步添加代码处添加一句中断设置语句, 连同4.2 步整体效果如下:

/*********** add by Eric Fu ************/

for(i=0;i<6;i++){

ndev->dev_addr[i]=net_mac_addr[i];

}

/*Set external intruppt*/

set_irq_type(IRQ_EINT0,IRQT_HIGH);//IRQ_EINT0要根据自己开发板而定

/******************end **************/注意: 代码修改完成, 配合第5 步, 第6 步, 编译下载可以ping 通其他机器了.

5, 配置内核:

Device Drivers --->

Network device support --->

Ethernet (10 or 100Mbit) --->

DM9000 support   // 选上该项 //s3c2410 的默认配置文件应该是选上了的

6, 网络设置:下载内核, 启动后执行以下命令( 否则ifconfig 命令无效):

/ $ cd sbin

/sbin $ ifconfig lo up

/sbin $ ifconfig eth0 192.168.0.106 netmask 255.0.0.0 up

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

/sbin $ inetd

/sbin $ mount -t proc proc /proc

/sbin $ ifconfig

出现如下信息:

eth0      Link encap:Ethernet HWaddr 00:E0:3D:F4:DD:F7

inet addr:192.168.0.106 Bcast:192.255.255.255 Mask:255.0.0.0

UP           BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Interrupt:19 Base address:0xe300

lo        Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

这时可以ping 通其它机器了, 如果ping 不通, 可以试着把ip 设成与你要ping 的机器在同一网段, 网关也设成一样.

至此dm9000 移植完成, 如果内核配置了nfs, 这时就可以直接使用了.

我把nfs 文件挂载到开发板后,运行./mplayer video.mpeg, 但是开发板屏幕上没有任何图像,而且打印了错误信息:

VIDEO: MPEG1 320x240 (aspect 12) 29.970 fps 0.0 kbps ( 0.0 kbyte/s)

Can't open /dev/fb0: No such file or directory

应该是LCD 驱动的问题,接下来:移植LCD 驱动

x240无线网卡驱动 linux,Linux2.6移植:DM9000驱动相关推荐

  1. linux 安装水星无线网卡驱动,Linux下安装RTL8188CE网卡驱动(Mercury MW150U)

    先说明下我的系统: kernel: 3.0.0-32-generic 今天买了个无线网卡Mercury 150Mbps MW150U系列,我发现在我的笔记本的Ubuntu 12.10下不用安装驱动就能 ...

  2. X210开发板(S5PV210芯片)uboot移植DM9000驱动移植

    前言 本文是介绍在uboot中如何移植DM9000的驱动,并不深入去讲解DM9000芯片的操作时序和内部寄存器,想要读懂驱动代码要仔细阅读DM9000芯片的数据手册.移植的基础是手里有DM9000芯片 ...

  3. blink usb无线网卡驱动 linux,最新blink随身wifi驱动下载地址电脑版-CC软件

    blink随身wifi是一款精致小巧的随身WiFi,这款软件采用采用11N无线技术,使得数据传输变得飞快,这款软件让你随时随地的可以向无线网络和局域网络带来的便利. 使用方法: 第一步,推出360安全 ...

  4. linux如何查看硬件驱动,linux查看硬件信息及驱动设备相关整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 联系我登录 首页 业界新闻 技术文章 资源分享 微语 linux查看硬件信息及驱动设备相关整理[转] 蓝猫 发布于:2014-5-30 17:48 分类: ...

  5. linux检测硬件驱动,linux查看硬件信息及驱动设备相关整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 联系我登录 首页 业界新闻 技术文章 资源分享 微语 linux查看硬件信息及驱动设备相关整理[转] 蓝猫 发布于:2014-5-30 17:48 分类: ...

  6. linux 查看usb驱动,linux查看硬件信息及驱动设备相关整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 联系我登录 首页 业界新闻 技术文章 资源分享 微语 linux查看硬件信息及驱动设备相关整理[转] 蓝猫 发布于:2014-5-30 17:48 分类: ...

  7. linux cdc设备驱动,Linux下USB CDC ACM 驱动简析

    一.硬件平台:TI AM335X 芯片 二.软件平台:Ubuntu 10.04 三.USB CDC ACM 驱动简介 USB的CDC类是USB通信设备类 (Communication Device C ...

  8. 如何使用STM32F10x驱动MLX90640模块(移植官方驱动)

    0.什么时候需要MLX90640的驱动 如果想制作一个热成像仪,或者红外图像相关的什么东西,首先就需要找到一个好用的热成像模块. 假设你希望这个模块价格不要太贵(500元以下),精度也不用太高也不要太 ...

  9. linux查看硬盘驱动,linux查看硬件信息及驱动设备相关整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 联系我登录 首页 业界新闻 技术文章 资源分享 微语 linux查看硬件信息及驱动设备相关整理[转] 蓝猫 发布于:2014-5-30 17:48 分类: ...

  10. linux下磁盘控制器无法驱动,Linux eMMC子系统之主机控制器驱动(host conntroller driver)...

    1. 前言 本文是Linux MMC framework的第二篇,将从驱动工程师的角度,介绍MMC host controller driver有关的知识,学习并掌握如何在MMC framework的 ...

最新文章

  1. python编程在哪里写-python3.6.3 安装好了在哪里编写程序
  2. Android Studio 更新失败解决方法
  3. Uliweb多人博客教程demo站点
  4. resnet50加入fpn_FPN+SSD同时兼顾速度和精度的检测器(二)
  5. c语言一次绑定多个控件,一入前端深似海,从此红尘是路人系列第九弹之如何实现一个双向数据绑定...
  6. 从入门到入土:基于C语言实现并发Web服务器|父进程子进程|代码展示
  7. Building JavaScript Games for Phones Tablets and Desktop(6)- 响应玩家输入
  8. Tcl Tutorial 笔记6 ·while
  9. 2012.4.17总结(一)
  10. 对于开发 0 bug 代码的思考——Design by Contract 契约设计
  11. Nexus3 安装 及 配置 docker 私有、代理 仓库
  12. ARM 汇编指令 MRS用法
  13. 细分领域:偏门的色流玩法+简单的色流变现套路
  14. 【Pandas】常用姿势积累
  15. 苹果cms10自适应模板好看的苹果cmsv10美化模板免费
  16. 神州笔记本电脑开机出现CMOS message【已解决】
  17. p2p传输实时视频流
  18. Python网络数据采集9(译者:哈雷)
  19. 谷歌外链建设2022年如何判断和购买google优质外链
  20. 安卓股票悬浮窗_Android 实现悬浮窗功能

热门文章

  1. Centos软件安装库文件缺失(sqliteman安装中Could not find QScintilla library)
  2. 电骡服务器搜索文件排序,电骡搜中文名资源一定要注意的技巧及其他
  3. BD和ts是什么意思
  4. xposed+justTrustme使用与分析
  5. AutoRunner 功能自动化测试项目实训之认识自动化测试工具AutoRunner(二)
  6. 微软internet连接服务器,微软WEBS安装攻略之建立临时 Internet 连接
  7. 《创业维艰》笔记 2
  8. ioncube linux,linux 下ionCube安装
  9. 硬盘虚拟分区精灵 v2.3 bt
  10. 利用sublime3 + xmapp使用服务器调试