Linux内核移植之DM9000网卡驱动
目录
- 简介
- 添加dm9000网卡设备驱动
- 在设备树中添加网卡驱动
- 编译下载
- 常见错误
简介
DM9000是一款低成本的以太网MAC控制器,集成MAC和PHY功能,内部有16K的SRAM,像访问存储芯片一样对DM9000进行操作读写。
Linux3.x内核自带有DM9000驱动,我们需要将DM9000编译进入内核,配置好对应设备树。除此之外,使用到的硬件资源也需要进行相应的初始化。
添加dm9000网卡设备驱动
在根目录下执行make menuconfig,进入配置界面。输入’/’进入搜索界面,可以查找到DM9000的配置位置。
使能DM9000,使其编译进入内核。(按空格键选中)
在设备树中添加网卡驱动
在设备树文件中添加DM9000驱动,可参考厂商提供的范例代码(路径:Documentation/devicetree/bindings/net/davicom-dm9000.txt):
当然你也可以参考其他厂商的配置方法:
将设备树添加到对应的.dts文件中,路径:linux-at91-linux-3.18-at91/arch/arm/boot/dts。
ethernet@05000000 {
compatible = “davicom,dm9000”;
reg = <0x05000000 0x2 0x05000004 0x2>;/0x05000000为4412处理器的srom片选地址,详见手册/
interrupt-parent = <&gpx0>;/继承父节点/
interrupts = <6 4>;/gpx0节点中断中的第6个,4是标志/
local-mac-address = [00 00 de ad be ef];/网卡地址/
davicom,no-eeprom;
}
reg寄存器的配置,硬件DM9000的片选引脚连接的NCS2,在芯片数据手册上,Memory Mapping图中,可查看到NCS2对应的片选首地址为0x5000 0000。
编译下载
编译设备树,执行make dtbs。
编译下载过后,在/proc/device-tree可以看到相应的设备树配置
常见错误
1.内核启动时,打印如下错误:dm9000 50000000.ethernet: read wrong id 0x2b2a2928
答:出现该问题,多半是CPU处理器初始化不对,比如通信总线的初始化不对、复位引脚的初始化不对。
2.dm9000初始化成功,但是不能ping通
答:需要确认中断是否配置正确,中断不正确则ping不通。
Linux内核移植之DM9000网卡驱动相关推荐
- 以太网卡驱动程序移植linux,基于S3C2440的DM9000网卡驱动的移植
摘 要: 主要研究了基于Linux内核的网卡驱动的移植.Linux网络设备驱动程序的体系结构可以分为4层,首先分析了各层的具体功能实现,并在此基础上充分利用S3C2440开发板完成DM9000网卡驱 ...
- 初识Linux Kernel 移植 之 dm9621网卡驱动移植
初识Linux 驱动移植 -- dm921 概述 配置内核 dm9621 网卡驱动编译配置选项 问题探索 读 dm9621 MAC 地址失败 网卡反复断开重连 概述 将kernel移植到开发板并能正常 ...
- Linux内核学习笔记之网卡驱动的详细分析:RTL8139
学习应该是一个先把问题简单化,在把问题复杂化的过程.一开始就着手处理复杂的问题,难免让 人有心惊胆颤,捉襟见肘的感觉.读Linux网卡驱动也是一样.那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏 ...
- Linux内核移植 part3:sdmmc驱动
一种纯粹靠读书学来的真理,与我们的关系,就像假肢.假牙.蜡鼻子甚或人工植皮.而由独立思考获得的真理就如我们天生的四肢:只有它们才属于我们. -- 叔本华 读书的价值在于认识你自己,而不是用填鸭式的知识 ...
- linux 内核 网卡驱动 移植,Linux内核移植步骤_添加DM9000网卡驱动(设备树).docx
Linux内核移植步骤_添加DM9000网卡驱动(设备树) Linux内核移植步骤2015年05月13日星期三上午 11:05往设备树中添加网卡驱动:1.选平台,指定交叉编译工具链:(1).在Make ...
- linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx
linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...
- 基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通
基于linux2.6.30.4内核的DM9000网卡驱动编译成模块成功ping通 最近有个学生毕业设计需要实现基于ARM的DM9000网卡通信,但是linux2.6.30.4内核已经把DM9000网卡 ...
- 【正点原子Linux连载】第三十七章 Linux内核移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- arm平台linux的ethtool配置,ARM-Linux驱动--DM9000网卡驱动分析(四)
原标题:ARM-Linux驱动--DM9000网卡驱动分析(四) 硬件平台:FL2440 (S3C2440) 内核版本:2.6.35 主机平台:Ubuntu 11.04 内核版本:2.6.39 交叉编 ...
- s5pv210 linux内核移植,S5PV210(TQ210)学习笔记——内核移植与文件系统构建之二
由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习. 三 设置uboot启动参数 我的nfs根目录为/nfsroot,我 ...
最新文章
- OpenCV录制视频
- C++ Primer 第10章 习题 10.18
- x86架构linux内核引导过程分析,SylixOS---x86引导过程分析
- JSP EL表达式 将数组拼接成字符串
- linux 的文件软链接隐藏,Linux inode及硬链接软链接详解
- python数据结构简单总结
- Qt在指定区域内拖动窗口
- mysql insert插入的3种方法
- 视觉SLAM笔记(38) 3D-3D: ICP
- 机器学习——One-Hot编码
- RHCE认证培训+考试七天实录(三)
- Mysql报too many connections详解
- 动手学习数据分析(五)——数据建模及模型评估
- Atitit 云计算体系树.docx Atitit 云计算之道 attilax著 艾龙 著 serverless bomb 1. 什么才是云计算的根本特征..	2 2. 云计算体系	2 3. “云
- MAC下安装配置Tomcat
- 为啥春节抢红包总不是运气王?看完微信抢红包算法你就明白了
- MapABC 地图定位
- 1至9填入九个方框内_把19这九个数字填在方框里
- 微信小程序 - 获取屏幕的大小
- Linux 命令的初学习2