chapter8嵌入式Linux设备驱动程序开发.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

嵌入式Linux设备驱动程序开发;设备管理;1设备管理概述;按设备的信息交换的单位可将I/O设备分为以下两类。

〔1〕字符设备

字符设备是以字符为单位进行输入和输出的设备。

〔2〕块设备

块设备的输入和输出是以数据块为单位的。;按设备的共享属性可将I/O设备分为以下三类。

〔1〕独占设备

所有的字符设备都是独占设备。独占设备是指一段时间内只允许一个用户〔进程〕访问的设备,即临界资源。;〔2〕共享设备

块设备都是共享设备。共享设备是指一段时间内允许多个进程同时访问的设备。

〔3〕虚拟设备

通过虚拟设备技术把一台独占设备变换为假设干台逻辑设备,供假设干个用户〔进程〕同时使用,以提高设备的利用率。;1.2设备管理的任务和功能

设备管理是对计算机的输入/输出系统的管理,它是操作系统中最具有多样性和复杂性的局部。其主要任务如下所述。

〔1〕选择和分配I/O设备以便进行数据传输操作。

〔2〕控制I/O设备和CPU〔或内存〕之间交换数据。;〔3〕为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,由系统按用户的要求来对设备的工作进行控制。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序。

〔4〕提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作程度,以使操作系统获得最正确效率。;为了完成上述主要任务,设备管理程序一般要提供下述功能。

〔1〕提供和进程管理系统的接口

〔2〕进行设备分配

〔3〕实现设备和设备、设备和CPU等之间的并行操作

〔4〕进行缓冲管理

〔5〕设备控制与驱动;1.3设备控制器

设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令并去控制I/O设备工作。设备控制器是一个可编址设备,当它仅控制一个设备时,它只有一个惟一的设备地址;当它控制多个设备时,那么应具有多个设备地址,使每一个地址对应一个设备。;为实现设备控制器的功能,大多数设备控制器都由以下三局部组成。

1.设备控???器与处理机的接口

2.设备控制器与设备的接口

3.I/O逻辑;图10.1设备控制器的组成;1.4I/O通道

设置I/O通道的目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而把CPU从繁杂的I/O任务中解脱出来。

在设置了通道后,CPU只需向通道发送一条I/O指令。通道在收到该指令后,便从内存中取出本次要执行的通道程序,然后执行该通道程序,仅当通道完成了规定的I/O任务后,才向CPU发中断信号。;实际上,I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道〔I/O〕程序来控制I/O操作。

通道有两种根本类型:选择通道和多路通道。;;;1.6设备驱动

设备驱动程序的主要任务,是接收上层软件发来的抽象要求,如read或write命令,再把它转换为具体要求,发送给设备控制器;此外,它也将由设备控制器发来的信号传送给上层软件,从而完成两者间的相互通信。;设备驱动程序的处理过程。

〔1〕将抽象要求转换为具体要求

〔2〕检查I/O请求的合法性

〔3〕读出和检查设备的状态

〔4〕传送必要的参数

〔5〕工作方式的设置

〔6〕启动I/O设备;2I/O控制方式;图10.4程序I/O方式的流程;2.2中断驱动I/O控制方式

在现代计算机系统中,都毫无例外地引入了中断机构,致使对I/O设备的控制,广泛采用中断驱动〔InterruptDriven〕方式。即当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务,设备控制器那么按照该命令的要求去控制指定I/O设备。此时,CPU与I/O设备并行操作。;例如,在输入时,当设备控制器收到CPU发来的读命令后,便去控制相应的输入设备读数据。一旦数据进入数据存放器,控制器便通过控制线向CPU发送一个中断信号,由CPU检查输入过程中是否出错,假设无错,便向控制器发送取走数据的信号,然后再通过控制器及数据线,将数据写入内存指定单元中。图10.5示出了中断驱动I/O控制方式的流程。;;2.3DMA控制方式

DMA方式的根本思想是,在外围设备和内存之间开辟直接的数据交换通路。在DMA控制器中,除了控制状态存放器和数据缓冲存放器外,还包括传送字节计数器和内存地址存放器以及控制电路等。因此,

文档评论(0)

展翅高飞2020 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档