ImageVerifierCode 换一换
格式:DOC , 页数:46 ,大小:581KB ,
资源ID:1272988      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1272988.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux下网卡驱动程序的研究-毕业论文.doc)为本站会员(滴答)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Linux下网卡驱动程序的研究-毕业论文.doc

1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: Linux下网卡驱动程序的研究 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月I Linux下网卡驱动程序的研究 摘要 此网卡驱动研究开发是遵循 POSIX 通用 Linux设备标准, 基于 BCM6338 芯片, 在Linux操作系统 平台 下 , 实现 BCM6338芯片的基于 MII接口的网络接 口的驱动 。 本文 引言部分简要介绍了 Linux操作系统、内核模块、 Linux设备驱动等基本概念,并阐述了驱动程序的基本框架。 系统实现部分首先

2、明确实现目标 ,接着阐述驱动开发的硬件 平台 ,并分析了 BCM6338芯片网络接口原理。 然后 从 Linux 网络子系统的四个层次, 并 分析 网卡驱动的作用 。 接着详细地分析与设计了 网络接口驱动的 实现原理和实现方法 。网络接口驱动 的设计大体 包括 以下十一部分 :加载模块、卸载模块、探测设备、初始化设备、打开设备、关闭设备、发送报文、接收报文、检测连接状态、获取统计信息和支持多播。 最后, 阐述编 译环境和编译方法,并 通过测试结果表明此网卡驱动能使 BCM6338 芯片的网络接口部分正常工作 。 关键词 网卡 驱动 ; Linux; NAPI; 模块编程 ; BCM6338 I

3、I III Research of Network Interface Card Driver in Linux Abstract This research and development are to develop the network interface driver of BCM6338 chip which is based on POSIX-generic Linux equipment standard. The network interface part of BCM6338 chip is based MII Interface. In this paper, the

4、introduction part expounds on Linux operating system, kernel modules, Linux device drivers, basic framework of driver development and other basic concepts. The mplementation part firstly make clear the development objective, and then expounds the hardware platform of development and analyze the prin

5、ciples of network interface on BCM6338 chip. Secondly, The paper explains the four layers of linux network subsystem and the function of network interface card driver. Then a detailed analysis and design of the network interface drive r are presented. Network Driver Interface driver design will incl

6、ude the following 11 parts: loading module, unloading module, detecting equipment, equipment initialization, openning the equipment, shutting down equipment, sending messages, receiving messages, detecting connection status, getting statistical information and supporting multicast. In-depth analysis

7、 of various parts of the methods to achieve, principle and attention to detail. Finally, The paper describes compilation environment and compilation method, and the test results are showed to indicate that the network interface card driver works well. Keywords Network Interface Card Driver; Linux; N

8、API; Module Programming; BCM6338 IV V 目录 第一章 引言 . 1 1.1 Linux简介 . 1 1.2内核模块 . 1 1.3 Linux设备驱动 . 2 1.4设备驱动框架 . 3 第二章 分析与设计 . 5 2.1实现目标 . 5 2.2硬件平台 . 5 2.2.1 BCM6338 平台描述 . 5 2.2.2 BCM6338 网络接口 原理 . 7 2.3 Linux网络子系统 . 8 2.3.1网络子系统的结构 . 8 2.3.2网络设备接口部分 . 9 2.3.3网络接口核心部分 . 9 2.3.4网络接口协议族部分 .10 2.3.5网络接口

9、 Socket部分 .10 2.4网卡驱动的作用 . 11 2.5网卡驱动设计 . 11 2.5.1主要数据结构 . 11 2.5.2加载模块 .14 2.5.3卸载模块 .14 2.5.4探测设备 .15 2.5.5初始化设备 .16 2.5.6打开设备 .17 2.5.7关闭设备 .17 2.5.8发送报文 .18 2.5.9接收报文 .20 2.5.10检测连接状态 .21 VI 2.5.11获取统计信息 .22 2.5.12支持多播 .22 第三章 编译与测试 .23 3.1搭建编译环境 .23 3.1.1安装 Linux操作系统 .23 3.1.2安装交叉编译工具链 .23 3.2模

10、块 Makefile设计 .23 3.3测试 .25 3.3.1测试一:主机 ping开发板 .25 3.3.2测试二:开发板 ping主机 .25 3.3.3测试三:浏 览 BCM6338芯片的配置管理网站 .26 第四章 结论 .27 致谢 .28 参考文献 .29 VII Contents Chapter 1 Introduction . 1 1.1 Introduction to Linux . 1 1.2 Kernel Module. 1 1.3 Linux Device Driver . 2 1.4 Device Driver Skeleton. 3 Chapter 2 Syste

11、m Implementation . 5 2.1 Implement Object . 5 2.2 Hardware Environment. 5 2.2.1BCM6338 Platform . 5 2.2.2BCM6338 Network Interface . 7 2.3 Linux Network Subsystem . 8 2.3.1 The Structure of Linux Network Subsystem . 8 2.3.2 Network Device Driver Layer. 9 2.3.3 Network Interface Core Layer . 9 2.3.4

12、Network Interface Protocol Layer .10 2.3.5 Network Interface Socket Layer .10 2.4 The Function Of Network Interface Card Driver . 11 2.5 Network Interface Card Driver Design . 11 2.5.1 Main Data Structure .14 2.5.2 Load Module .14 2.5.3 Unload Module.14 2.5.4 Probe Device.15 2.5.5 Initialize Device

13、.16 2.5.6 Open Device .17 2.5.7 Close Device .17 2.5.8 Send Packet .18 2.5.9 Receive Packet .20 VIII 2.5.10 Detect Link Status .21 2.5.11 Get Statistic Information .22 2.5.12 Support Mutilcast .22 Chapter 3 Compilation and Test.22 3.1 Build Compilation Environment.22 3.1.1 Install Linus OS.22 3.1.2

14、Install Cross Compilation Tool Chain .22 3.2 Module Makefile Design.22 3.3 Test .24 3.3.1 Test One: The host pings BCM6338 chip .24 3.3.2 The BCM6338 chip pings the host .24 3.3.3 Browse the web pages of Bcm6338 chip .25 Chapter 4 Conclusion .27 Acknowledgement .28 References .29 1 第一章 引言 1.1 Linux简

15、介 Linux 是一套免费使用和自由传播的类 Unix 操作系统,它主要用于基于 Intel x86 系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。 Linux最早由一位名叫 Linus Torvalds的计算机爱好者开发,当时他是芬兰赫尔辛基大学的学生。他的目的是设计一个代替 Minix( 由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示范教学程序)的操作系统,这个操作系统可用于 386、 486 或奔腾处理器的个人计算机上,并且具有 Unix操作系统的

16、全部功能。 Linux以它的高效性和灵活性著称。它能够在个人计算机上实现全部的 Unix特性,具有多任务、多用户的能力。 Linux可在 GNU( 不是 UNIX工程的缩写)公共许可权限下免费获得,是一个符合 POSIX 标准的操作系统。Linux操作系统软件包不仅包括完整的 Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的 X-Windows图形 用户界面,如同我们使用 Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。 由于 Linux 是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们 1。 1.2 内核模块 每块可以在运行时添加到内核的代码,被称为一个模块。每个模块由目标代码组成没有( 连接成一个完整可执行文件 ) ,可以动态连接到运行中的内核中,通过 insmod 程序,以及通过 rmmod 程序去连接。 内核是由负责特定任务的不同类别的模块组成的。一个模块是根据它提供的功能来 说它属于一个特别类别的。内核的划分见图 1-12。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。