【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)
花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植。总结一下自己的收获。
事实上。在Linux-2.6.30.4版本号内核下有关于网卡驱动,可是这个网卡驱动不是针对于 DM9000E。而是针对于 DM9000的。
因此要在此基础之上改动一些參数。而且打上必要的相关代码。这个网卡驱动移植是參照了“天嵌科技出品-Linux移植之Step By Step_V4.6”的文档。但就是这样。还是花费了将近一天的时间。事实上这里的难点在于:文档中仅仅是给出了改动代码的大体位置。而没有非常具体的说清楚。因此才会出现,不知道要在什么位置加入或者改动代码的问题。这个文档上面的配置方法,我总共配置了不下5遍。
对比着这个文档,以及从网上搜索的一些资料。改了一遍又一遍。
因此,我认为学习嵌入式。不仅要有一股坚持的劲,还要有耐心。由于我在改动网卡驱动的时候。改动一遍,编译内核,下载到板子。执行看是否正确。然后再改动一遍。然后再编译内核,然后再下载到板子,在执行查看结果……知道成功为止。这中间不知道要经过多少次的反复。难免会认为烦躁,甚至气馁。
可是,我个人认为这似乎才是学习的真谛:我们遇到问题。然后我们想方设法去解决这个问题。在解决这个问题的时候,我们会去查阅资料,会去思考,会去如果,然后自己去做实验去验证(实践),如果如果不对,就会再去查资料,思考,如果,验证……直到成功。事实上说究竟,就是反复。在反复的过程中。慢慢的理解了这部分的知识,慢慢的提升了自己的能力。有的时候我们突破一个问题的时候,就会有一种豁然开朗的感觉。因此,学习怕的不是遇到非常多的问题,而是遇不到问题。
总结到此结束。
以下将配置好的代码的详细位置上图:
arch/arm/mach-s3c2440/mach-smdk2440.c
1、加入蓝色区域内的代码
2、加入蓝色区域内的代码
3、加入蓝色区域内的代码
以下是改动drives/net/dm9000.c文件
4、加入蓝色区域的代码
5、加入蓝色区域的代码
6、加入蓝色区域的代码
7、加入蓝色区域的代码
8、加入蓝色区域的代码
9、加入蓝色区域的代码
【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)的更多相关文章
- linux下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- LINUX内核升级-更新网卡驱动
因项目需要,将当前内核(2.6.32-220.el6.x86_64)升级到目标内核(2.6.33-110.el6.x86_64),但是编译的目标 内核(2.6.33-110.el6.x86_64)的对 ...
- 【驱动】DM9000A网卡驱动框架源码分析
Linux网络设备结构 首先看一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发 ...
- 【驱动】DM9000网卡驱动分析
Preface 内核源码版本:linux-2.6.18 网卡驱动·linux内核网络分层结构:http://infohacker.blog.51cto.com/6751239/122114 ...
- Linux主机USB RNDIS网卡驱动实现不完整导致的一例问题
某通信模块设备,通过USB提供RDNIS和ECM网卡功能.在实际应用中发现,USB RNDIS网卡模式下,当使用AT指令以不同的CID拨号的时候,在Windows主机上能正常拨号成功,但在Linux主 ...
- Fedora19/18/17安装显卡驱动和无限网卡驱动
一.安装nvidia显卡驱动 1. 切换到root用户 su - 2. 确定当前Linux内核及SELinux policy 是否为最新 yum update ke ...
- Linux网卡驱动安装、防火墙原理
安装网卡驱动程序: 需要检查是否安装kernel依赖包: rpm –q kernel-devel #检查kernel依赖包是否安装 yum –y install kernel-devel 检查gcc和 ...
- Linux下查看网卡驱动和版本信息
Linux下查看网卡驱动和版本信息 查看网卡生产厂商和信号 查看基本信息:lspci 查看详细信息:lspci -vvv # 3个小写的v 查看网卡信息:lspci | grep Ethernet 查 ...
- 新装Linux系统没有网卡驱动的解决办法和步骤
Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...
随机推荐
- 浏览器启动不起来java.lang.NoClassDefFoundError: com/google/common/base/Function
java.lang.NoClassDefFoundError: com/google/common/base/Function 原因:只有以下两个包 解决方案:导入 selenium-server-s ...
- nyoj--99--单词拼接(欧垃图判定+输出)
单词拼接 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 给你一些单词,请你判断能否把它们首尾串起来串成一串. 前一个单词的结尾应该与下一个单词的道字母相同. 如 alo ...
- Caffe C++API 提取任意一张图片的特征系列二----MemoryData
介绍一种更加灵活的方法,用MemoryData层输入数据,可以直接用opencv接口读入我们的图片再添加的网络中. 第一个问题:仍然是工程建立问题,提示卷积层或其他层没有注册,解决方法与上一篇博客一 ...
- Redis学习笔记(五) 基本命令:Hash操作
原文链接:http://doc.redisfans.com/hash/index.html 学习前先明确一下概念,这里我们把Redis的key称作key(键),把数据结构hash中的key称为fiel ...
- 常用相关linux命令
查看进程netstat -tnlp | egrep "(9097)" lsof -i:9097 ps -ef | grep kafka 观察句柄变化lsof -p $pid | w ...
- ES6常用特性
以下是ES6排名前十的最佳特性列表(排名不分先后): Default Parameters(默认参数) in ES6 Template Literals (模板文本)in ES6 Multi-line ...
- javascript中document.getElementsByClassName兼容性封装方法一
var getElmsByClsName = function(className, results) { results = results || []; // 判断浏览器是否支持 getEleme ...
- 通过obs进行推流
我们除了通过ffmpeg进行推流外还可以使用OBS这个软件进行推流, 界面化工具,配置起来也方便 obs下载地址 obs的基本配置使用教程 这里需要注意的是在填写推流地址URL 的时候 有一个流秘钥 ...
- HDU1231 最长连续子序列
最大连续子序列 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- Linux(1)---常用命令
1.将tgz文件解压到指定目录: # tar zxvf test.tgz -C 指定目录 比如将 /lyl/test.tgz解压到 /lyl/linux 目录下 # tar zxvf /lyl/tes ...