USB设备驱动程序[借鉴].pdfVIP

  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文档。上传文档
查看更多
USB设备驱动程序 (1) 驱动程序的基本概念 设备驱动程序是一个包含了许多操作系统可调用例程的软件容器,它可以 使得应用程序访问硬件设备, 这些例程可以使硬件设备执行相应的动作。 也就是 处理硬件设备连接到 CPU通信的细节的代码。硬件设备可能是任何连接到计算 机的电子电路。 一个设备驱动应使得应用程序远离细节, 使应用程序不必知道物 理连接、信号和与一个设备通信需要的协议等。 应用程序是用户运行的程序, 包 括支持自定义硬件的特殊用途的应用程序。 设备驱动可以保证程序代码只通过外 设句柄访问外设或者端口。 应用程序不需要精确监视和控制外设需要的交换信号 ( 忙、应答等 ) 。设备驱动通过在应用层和硬件专用层专用代码之间的转化来 完成它的任务。 应用层代码一般使用一套操作系统支持的函数。 硬件代码则处理 那些访问外设电路的必要协议,包括检测状态信号和在合适的时间切换控制信 号。 (2)WDM设备驱动简介 在 Windows98 下运行的代码以以下两种模式之一运行 : 用户模式和内核 模式。在访问内存和其它系统资源时, 每种有不同的允许优先级。 应用程序必须 运行在用户模式下,其它很多驱动运行在内核模式下。 在用户模式下, Windows 限制应用程序访问内存和其他系统资源, Windo ws 不允许用户访问设定为被保护的内存区域。这使得 PC 机可同时运行多个应 用程序, 不会互相干扰从理论上讲, 即使一个应用程序崩溃了, 其它应用程序也 不会受到影响。 在内核模式下, 代码不限制访问系统资源, 包括执行内存管理指 令和控制访问 I/O 端口。 每个应用程序和驱动使用自己的语言与操作系统通信。 应用程序使用 WIN3 2 API 函数。驱动通信使用称作 U0 请求包 (IRP) 的结构。 Windows 定义了一 套驱动可以使用的 IRP 。每个 IRP 请求或执行一个单个的输入或输出动作。 USB设备的设备驱动使用 IRP 传递总线通信, 处理 USB通信。总线驱动按顺序 使用 IRP 传递临近总线的通信。在一系列通信中,最终的总线直接驱动硬件。 总线驱动被包括在 Windows 系统里,且不需要我们编程。 当用户模式程序需要读取设备数据时,它就调用 Win32 API 函数, Win32 子系统模块 ( 如 KERNEL32.DLL)通过调用平台相关的系统服务接口实现该 A PI, 而平台相关的系统服务将调用内核模式支持例程。调用首先到达系统 DLL 中的一个入口点, 然后这个用户模式的函数接着调用系统服务接口, 最后由系统 服务接口调用内核模式中的服务例程 [39] 。服务例程运行在内核模式中, 为应 用程序请求提供服务, 并以某种方式与设备交互。 它们首先检查传递给它们的参 数以保护系统安全或防止用户模式程序非法存取数据,然后创建一个 IRP 的数 据结构,并把这个数据结构送到某个驱动程序的入口点。 用户模

文档评论(0)

肖四妹学教育 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档