电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>通信网络>RTL8139网卡驱动程序分析

RTL8139网卡驱动程序分析

2008-10-19 | rar | 666 | 次下载 | 免费

资料介绍

对多数驱动程序开发的学习者来说,总是感觉很难⼊门,不能从
整体上把握驱动程序是如何驱动硬件设备⼯作的。本文以Linux
核中8139网卡驱动为例,对驱动程序的⼯作过程进行详细的分析,
为初学者拨开迷雾,走出雾里看花的迷茫。本文虽然以Linux驱动
为例,但是技术总是相通的,为了给Windows驱动初学者同样的启
发,我有意的借用了许多Windows驱动中的名词,同时顺便略述了
Windows驱动中的⼀些容易让初学者感到迷惑的概念。

Rtl8139是⼀个PCI网卡,老式的设备地址是固定的,对设备的扩充通
常通过跳线等方式来更改地址以避免地址冲突,例如通过跳线来设置IED
主盘,从盘。PCI总线设备可以通过软件编程灵活的设置各个设备的地
址。在操作系统启动的时候,系统根据PCI总线协议规范对主板上的PCI
进行扫描,同时为发现的设备配置相关资源,包括中断请求号,地址空
间等。每⼀个PCI设备上有⼀个配置空间,配置空间中包含了设备的基本
信息,例如设备类别ID,⼚商ID,设备板载存储空间等信息,操作系统
在扫描所有的PCI设备后,可以根据这些信息统⼀分配地址资源以避免
地址冲突。系统通过在PCI设备中的基地址寄存器中写⼊⼀个分配到的
基地址,之后CPU在指令执行的时候给出⼀个地址,这个地址首先送到
Host-PCI桥,就是我们通常所说的北桥,北桥判断出这个地址是落在内
存或是PCI等设备的地址空间上1,如果落在PCI空间地址中,则北桥通过
PCI总线仲裁申请,把地址送到PCI总线上,总线上的每⼀个PCI设备会根
据自⼰的存储空间⼤⼩以及基地址寄存器中的值来比较,如果被寻址的
地址落在自⼰的地址空间范围内,则该设备会作为PCI从设备响应完成数
据传输。这就是说,系统上的设备都有自⼰的地址空间,以总线带宽为
32位的系统为例,可以容纳的地址空间为4G,CPU在这4G的地址空间⼀部
分划分到内存空间,还有以部分很可能划分给PCI等外部设备,这通常取
决于硬件系统设计者。PCI设备灵活的配置方式也不可避免的带来了复杂
性。PCI协议对设备的枚举,检测,配置的过程是复杂的,通常操作系统
提供了PCI总线协议驱动程序,并在启动的时候完成了这⼀复杂的过程,
这样⼤⼤减⼩了PCI设备驱动程序开发者的⼯作量。这就好像平时⼤家
网络程序开发的时候都没必要自⼰实现TCP/IP协议⼀样。用Windows的
术语来说,对PCI设备的枚举由总线驱动程序完成,而具体的对PCI设备
的控制是功能驱动程序的⼯作。本文要描述的是Rtl8139网卡功能驱动程序。对PCI协议有⼀定了解是必要的。关于PCI总线驱动程序的知识可以阅读《Linux内核情景分析》。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费