欢迎来到天天文库
浏览记录
ID:33696079
大小:296.28 KB
页数:4页
时间:2019-02-28
《基于armlinux的网络驱动程序设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据2012年第06期,第45卷总第246期通信技术CommunicationsTechn0109yV01.45,No。06,2012No.246,Totally基于ARM-Linux的网络驱动程序设计常锋,孟传良(贵州大学计算机科学与信息学院,贵州贵阳550025)【摘要】对基于ARM的网络设备驱动程序的开发进行了研究,对嵌入式Linux网络设备驱动程序的运行机制进行了分析,介绍了一般网络设备的体系结构,对网络驱动的主要功能进行讲述.在嵌入式Linux中实现CS8900h网卡驱动,并结合实现CS8900k网卡驱动的实例讲解了基于Linux操作系统的一般网络驱动程序的开发流程.
2、并具体分析了网络设备的初始化、设备的打开与关闭,数据的发送与接收以及中断处理等相关问题.最后在Linux平台编译运行且通过测试.【关键词】嵌入式Linux系统;网络设备;驱动程序;CS8900A【中图分类号1TNgi5.09【文献标识码1A【文章编号11002—0802(2012)06一0032—04DevelopmentofNetworkDriverProgrambasedonEmbeddedLinuxCHANGFeng,MENGChuan一1iang(CollegeofComputerScienceandInformation,GuizhouUniversity,Guiyang
3、Guizhou550025,China)【Abstract】ThedevelopmentofAM—basednetworkdevicedriverisstudied,theoperatingmechanismofembeddedLinuxnetworkdevicedriveranalyzed,thegeneralarchitectureofthenetworkdevicesdescribed,andthemainfunctionofthiSnetworkdriverdiscussed.TheCS8900AdrivetiSimplementedintheembeddedLinuxne
4、tworkdriver,andbytheexampleofCS8900AdriverimplementedinembeddedLinuxoperatingsystem,thedevelopmentprocessofnetworkdriverbasedonLinuxoperatingsystemisexplained.Andthenetworkdeviceinitialization,openandclose,datasendingandreceiving,interruptionhandlingandotherrelatedproblemsarealSOanalyzedindeta
5、il.Finally,thecompilingandrunningontheLinuxplatformisdoneandthetestpassed.[KeywordslembeddedLinuxsystem:networkdevice:driverprogram;CS8900A0引言为了实现Linux操作系统的诸多网络功能,需要设计出合适的网络驱动程序。为了更好地设计出适合的网络驱动程序,需要对其运行机理有所了解Il】。由于Linux是开放源代码的,这使得在Linux内核中对相关的网络设备驱动部分进行修改提供了方便,可以对其网络驱动程序部分进行分析和改造,使其满足特殊的应用需要。这
6、里就对Linux内核中的网络驱动程序部分进行了详细的讨论,并结合一个具体的实例,探讨了如何设计出适合的网络驱动程序。收稿日期:2012一O卜09。作者简介;常锋(1981一),男.硕士研究生,主要研究方向为嵌入式通信系统;盂传良(1950一),男,教授,硕士生导师,主要研究方向为计算机网络与多媒体技术,数字通信技术,计算机控制。321网络设备驱动的运行机理Linux中将设备分为3种类型:字符设备、块设备和网络设备。它们的编写方法大致相同,其中字符设备和块设备可以像文件一样被访问,网络设备的驱动是Linux操作系统中一种比较特殊的应用,它通常是通过套接字(Socket)这种接口来实现
7、的【21。在套接字机制中,系统和驱动程序之间通过专门的网络接口负责数据的传递。应用程序不能直接访阔网络驱动程序,而只能通过网络子系统与它进行交互,网络驱动程序异步地接收来自外界的数据【31。1.1网络设备驱动的体系结构Linux系统的优点之一是它具有丰富而稳定的网络协议栈,不同于网络理论中一般的OSl模型,Linux系统的网络协议栈一般分为4层。从上到下分别足:网络协议接口层、网络设备接口层、设备驱万方数据动功能层,以及网络设备和网络媒介层【4J。在这里,网络设备和网
此文档下载收益归作者所有