设备驱动程序在嵌入式linux系统中的实现分析

设备驱动程序在嵌入式linux系统中的实现分析

ID:34607445

大小:163.81 KB

页数:4页

时间:2019-03-08

设备驱动程序在嵌入式linux系统中的实现分析_第1页
设备驱动程序在嵌入式linux系统中的实现分析_第2页
设备驱动程序在嵌入式linux系统中的实现分析_第3页
设备驱动程序在嵌入式linux系统中的实现分析_第4页
资源描述:

《设备驱动程序在嵌入式linux系统中的实现分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2010年4月廊坊师范学院学报(自然科学版)Apr.2010第10卷第2期JournalofLangfangTeachersCollege(NaturnalScienceEdition)Vol.10No.2设备驱动程序在嵌入式Linux系统中的实现分析王莹(枣庄学院,山东枣庄277160)摘要简述了在嵌入式Linux系统开发中驱动程序设计的重要性,以及驱动程序的基本结构和实现原理,通过步进电机驱动实例详述了设备驱动程序的开发过程。关键词嵌入式;Linux;步进电机;驱动程序TheRealizationAnalysisofDeviceDriversinEmbeddedLinuxsys

2、temWANGYingAbstractThispaperdescribestheimportanceofdesigningdriversintheembeddedLinuxsystem,aswellasthebasicstructurerandtherealizationoftheprincipleofdevicedriver,detailsdevicedriverdevelopmentprocessthroughsteppermotordriverexamples.Keywordsembedded;linux;steppermotor;driver!中图分类号∀TP274!

3、文献标识码∀A!文章编号∀1674-3229(2010)02-0048-04备的操作和控制,必须分析驱动程序的结构和实现1引言原理。设备驱动程序是操作系统内核和机器硬件之间2.1设备驱动程序分类的接口,作为应用和设备间的软件层,为应用程序屏Linux系统将硬件设备抽象成三种类型设备:字蔽了硬件的细节。在Linux系统中,硬件设备只是符设备、块设备和网络设备。字符设备是直接读取一个设备文件,应用程序可以像操作普通文件一样的,不必使用缓冲区。块设备每次只能读取一定大对硬件设备进行操作。作为操作系统内核的一部小的块的倍数,通常一块是512或者1024字节。块分,设备驱动程序完成以下的功能

4、:对设备初始化和设备通过缓冲区读写并且可以随机读写。块设备可释放;把数据从内核传送到硬件和从硬件读取数据;以通过它们的设备文件存取,但通常是通过文件系读取应用程序传送给设备文件的数据和回送应用程统存取。只有块设备支持挂接的文件系统。网络设序请求的数据;检测和处理设备出现的错误。在嵌备是通过BSD套接字界面存取的。入式Linux系统中,同样也是把外部设备当作文件设备由一个主设备号和一个从设备号标识。主来处理,应用程序通过调用标准设备文件的操作函设备号唯一标识了设备类型,即设备驱动程序类型,数来打开、关闭、读取和控制设备。它是块设备表或字符设备表中设备表项的索引。从设备号仅由设备驱动程序解释,一般

5、用于从若干相2设备驱动程序实现原理同的硬件设备中,识别出IO请求所涉及到的那个设备驱动程序设计是嵌入式Linux开发中重要设备。的部分,驱动程序是应用程序与硬件之间的一个中2.2驱动程序的基本结构间软件层,应该为应用程序展现硬件的所有功能,不嵌入式Linux设备驱动程序都有一些共性,编应该强加其它的约束,对于硬件使用的权限和限制写所有类型的驱动程序都是通用的,操作系统提供应该由应用程序层控制。要实现设备函数对外围设给驱动程序的支持也大致相同。设备驱动程序大致[收稿日期]2010-01-24[作者简介]王莹(1982-),女,枣庄学院计算机科学系教师,硕士。#48#第10卷#第2期王莹

6、:设备驱动程序在嵌入式Linux系统中的实现分析2010年4月可以分为5个部分:件fs.h里定义的file-operations结构,它包含一系列(1)驱动程序的注册与注销:向系统增加一个驱函数指针,这些函数指针指向对设备的各种操作。动程序意味着要赋予它一个主设备号,这可以通过常用的操作包括以下几种:在驱动程序的初始化过程中调用register-chrdev()(1)open函数:打开一个设备。open函数必须对或者register-blkdev()来完成。而在关闭字符设备将要进行的IO操作做好必要的准备工作,如清除或块设备时则需要通过调用unregister-chrdev()或缓冲区等。如

7、果设备是独占的,即同一时刻只能有unregister-blkdev()从内核中注销设备,同时释放占一个程序访问该设备,则open函数必须设置一些标用的主设备号。志以表示设备处于忙状态。(2)设备的打开与释放:打开设备是通过调用(2)close函数:关闭一个设备。当最后一次使file-operations结构中的函数open()来完成的,它是用设备结束后,调用close函数。如果在open时标驱动程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。