本科毕业论文
(科研训练、毕业设计)
题 目:Linux下网卡驱动程序的研究
姓 名:
学 院:软件学院
系:软件工程
专 业:软件工程
年 级:
学 号:
指导教师(校内): 职称:
指导教师(校外): 职称:
年 月Linux下网卡驱动程序的研究
[摘要] 此网卡驱动研究开发是遵循POSIX通用Linux设备标准,基于BCM6338芯片,在Linux操作系统平台下,实现BCM6338芯片的基于MII接口的网络接口的驱动。
本文引言部分简要介绍了Linux操作系统、内核模块、Linux设备驱动等基本概念,并阐述了驱动程序的基本框架。
系统实现部分首先明确实现目标,接着阐述驱动开发的硬件平台,并分析了BCM6338芯片网络接口原理。然后从Linux网络子系统的四个层次,并分析网卡驱动的作用。接着详细地分析与设计了网络接口驱动的实现原理和实现方法。网络接口驱动的设计大体包括以下十一部分:加载模块、卸载模块、探测设备、初始化设备、打开设备、关闭设备、发送报文、接收报文、检测连接状态、获取统计信息和支持多播。
最后,阐述编译环境和编译方法,并通过测试结果表明此网卡驱动能使BCM6338芯片的网络接口部分正常工作。
[关键词] 网卡驱动; Linux; NAPI; 模块编程; BCM6338
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 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 principles 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 driver are presented. Network Driver Interface driver design will include 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 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 n