还是利用 mini2440移植uboot-2008.10 (一)  修改好的代码

通过观察可以发现,mini2400使用的网卡芯片是DM9000,在uboot-2008.10源码中已经支持该芯片的驱动(drivers/net/dm9000.c),但是并不完善

具体原理还不是很清楚,现在只是做一下移植步骤的记录

1、修改uboot配置文件(include/configs/mini2440.h)

 53 /*
54 * Hardware drivers
55 */
56 #if 0
57 #define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */
58 #define CS8900_BASE 0x19000300
59 #define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */
60 #endif
61
62 #define CONFIG_DRIVER_DM9000 1
63 #define CONFIG_DM9000_USE_16BIT 1
64 #define CONFIG_DM9000_BASE 0x20000300
65 #define DM9000_IO 0x20000300
66 #define DM9000_DATA 0x20000304

 

2、添加对ping命令的支持

 98 #define CONFIG_CMD_CACHE
99 #define CONFIG_CMD_DATE
100 #define CONFIG_CMD_ELF
101 #define CONFIG_CMD_PING //此为添加的代码

 

3、修改网卡驱动

在网卡驱动drivers/net/dm9000x.c中,有一段程序试图连接网卡MII接口,而实际上此接口未使用,会有10s钟等待然后报错,可以将此注释掉

282 /* Initilize dm9000 board
283 */
284 int
285 eth_init(bd_t * bd)
286 {
287 int i, oft, lnk;
288 u8 io_mode;
289 struct board_info *db = &dm9000_info;
.................................
385 /* Enable TX/RX interrupt mask */
386 DM9000_iow(DM9000_IMR, IMR_PAR);
387 //注释开始
388 #if 0
389 i = 0;
390 while (!(phy_read(1) & 0x20)) { /* autonegation complete bit */
391 udelay(1000);
392 i++;
393 if (i == 10000) {
394 printf("could not establish link\n");
395 return 0;
396 }
397 }
398
399 /* see what we've got */
400 lnk = phy_read(17) >> 12;
401 printf("operating at ");
402 switch (lnk) {
403 case 1:
404 printf("10M half duplex ");
405 break;
406 case 2:
407 printf("10M full duplex ");
408 break;
409 case 4:
410 printf("100M half duplex ");
411 break;
412 case 8:
413 printf("100M full duplex ");
414 break;
415 default:
416 printf("unknown: %d ", lnk);
417 break;
418 }
419 printf("mode\n");
420 #endif //注释结束
421 return 0;
422 }

 

4、至此网卡修改完成,最近进行编译

#make clean

#make mini2440_config

#make CROSS_COMPILE=arm-linux-

mini2440移植uboot-2008.10 (二) DM9000网卡驱动移植的更多相关文章

  1. Linux网卡驱动移植--Dm9000网卡驱动分析

    1. Linux网络体系结构由以下5部分组成 ① 系统调用接口: 位于Linux网络子系统的顶部,为应用程序提供访问内核网络子系统的方法,主要指socket系统调用. ② 协议无关接口: 实现一组基于 ...

  2. u-boot 移植 --->5、友善之臂Tiny210底板王网卡驱动移植

    网卡芯片的工作原理 DM9000AE具有以下主要性能: ①48管脚的LQFP封装,管脚少体积小: ②支持8/16位数据总线: ③适用于10Base-T和100Base-T,10/100M自适应,适应不 ...

  3. linux网卡驱动移植

    这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...

  4. AM335x(TQ335x)学习笔记——Nand&&网卡驱动移植

    移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前 ...

  5. AM335x(TQ335x)学习笔记——Nand&&网卡驱动移植

    移植完毕声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前 ...

  6. 【驱动】DM9000网卡驱动分析

    Preface    内核源码版本:linux-2.6.18    网卡驱动·linux内核网络分层结构:http://infohacker.blog.51cto.com/6751239/122114 ...

  7. 【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)

    花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植.总结一下自己的收获. 事实上.在Linux-2.6.30.4版本号内核下有关于网卡驱动, ...

  8. linux4.1内核配置以及编译及千兆网卡dp83867网卡驱动移植

    一  内核配置编译 1首先解压内核 tar jxvf linux-at91-4.1.tar.bz2: 2下载编译链 在ubuntu命令行中输入sudo apt-get install gcc-arm- ...

  9. DM9000网卡驱动分析(转)

    s3c6410自带的DM9000网卡驱动也是基于platform设备模型. 其定义的设备资源在arch/arm/mach-s3c64xx/mach-smdk6410中.有网卡的resource res ...

随机推荐

  1. CodeForces 352D. Jeff and Furik

    题意:给n个数,第一个人选取相邻两个递降的数交换顺序,第二个人一半的概率选取相邻两个递降的数交换顺序,一半的概率选取相邻两个递增的数交换顺序.两个人轮流操作,求整个数列变成递增数列所需交换次数的期望. ...

  2. POJ1182食物链 (并查集)

    第一反应就是和那个搞基的虫子的题很像(poj2492 http://www.cnblogs.com/wenruo/p/4658874.html),不过是把种类从2变成了3. 错在很白痴的地方,卡了好久 ...

  3. IT应聘者的简历应该是怎么样的?

    从去年到现在看了几百份简历,包括产品运营和产品设计师的职位.我不是 HR,只是想直接看到求职者的状况,看看是不是要换更准确的渠道去招聘对的人.我看简历的目的也很简单:找到没有什么问题且可能合适的人,然 ...

  4. 问题-Delphi为什么不能连接oracle

    问题现象:delphi 为什么不能连接oracle 问题处理:加一句OraSession1.Options.Net := True;

  5. 如何在eclipse中安装Jess

    如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. ...

  6. 剖析iphone之触摸事件touchstart

    今天做项目发现一个问题,貌似从前没有遇到过,就记录一下,以后方便看.....(代码只显示了js这部分 样式结构都会写) 一般我们绑定click触发事件都是直接用onclick 或者方便一点click, ...

  7. 修改Tomcat Connector运行模式,优化Tomcat运行性能

    Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一.不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运 ...

  8. C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)

    1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在ArrayList中主要使用Add.Remove.RemoveAt.Insert四个方法对栈进行操作.Add方法 ...

  9. (BUG已修改,最优化)安卓ListView异步加载网络图片与缓存软引用图片,线程池,只加载当前屏之说明

    原文:http://blog.csdn.net/java_jh/article/details/20068915 迟点出更新的.这个还有BUG.因为软引应不给力了.2.3之后 前几天的原文有一个线程管 ...

  10. oracle学习----特殊的连接方式

    1.笛卡儿积 merge join cartesion SQL> select ename,dname from emp,dept; 已选择56行. 执行计划------------------ ...