- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于WDM的PCIE设备驱动程序开发
相关技术标准,详细说明关于PCIE设备驱动开发技术,通过开发者掌握的
现有技术,给出了一个基于PCIE接口的嵌入式系统的驱动开发例子,在visual
studio2022开发环境中采用WindowsDDK开发完成系统驱动实例。
关键词:WDM模型,驱动编程,PCIE,WinDDK
1.引言
基于PCIE总线在各个方面的优势众多,从推出至今,被广泛的承受和应
用,市场上大多数新系列的以太网卡,PCIE显卡和PCIE声卡,都摒弃传统的
PCI总线技术,采用优点更多的PCIE总线协议技术,针对这种大的背景趋势,
开发者结合详细的实例系统工程,详细讨论说明基于WDM的PCIE设备驱动开
发技术。
2.设备驱动程序
设备驱动程序是连接应用程序、硬件以及操作系统的桥梁,是硬件设备连
接到计算机系统的软件接口。Windowsxp操作系统,为了进步系统的稳定性,
将windows程序分为两类,用户态和内核态程序,执行在用户态的程序不能直
接调用系统底层的物理地址,所有操作必须在用户态内存地址空间中,内核态
程序,能访问到内核态内存地址,即能访问系统物理设备映射在系统内部的物
理地址空间,设备驱动程序属于内核态程序。
2.1概念
设备驱动程序〔DeviceDriver〕是操作系统内核的重要组成局部,运行在
操作系统的内核态,属于操作系统的信任局部,驱动程序能工作在32位和64
位下,用来控制和管理计算机物理设备的可执行二进制代码,在windowsXP
系列操作系统中,驱动程序文件扩展名为.SYS。如今的驱动程序遵循内核形式
驱动程序框架标准〔WDM〕,与windows98能绕过驱动程序访问硬件特性不
同,Xp必须通过设备驱动程序访问硬件,基于WDM内核驱动程序框架标准的
驱动程序,能很好的支持设备的即插即用功能。
2.2WDM的根本原理
WDM〔WindowsDriverModel〕值得是windows驱动模型,目前大局部计
算机设备驱动程序都采用WDM驱动框架标准,动态构造WDM驱动程序堆栈
是实现即插即用设备支持的关键,WDM属于一个分层型驱动模型框架,分为设
备对象堆栈构造,和设备驱动程序构造,设备驱动分为功能驱动层和总线驱动
层,总线驱动层为总线上发现的设备创立物理设备对象PDO,功能驱动层为设
备驱动创立自己的功能设备对象FDO,用户太的应用程序通过API发送IRP数
据包,和驱动进展交互,然后驱动将用户恳求的数据,以IRP数据包格式返回
给连接的用户应用程序。内核形式的WDM驱动程序有着可移植性,可配置
性,即插即用等特点。
3.基于PCIE接口的嵌入式系统
笔者结合一个实际基于PCIE接口的嵌入式系统例子详细说明基于WDM的
PCIE设备驱动开发过程,主要介绍如何实现该系统的PCIE设备驱动程序,对
于系统的其他设计功能模块在此不做说明。
3.1基于PCIE接口的嵌入式系统构造
基于WDM,和PCIE接口的众多优势,开发PCIE设备已成为一种趋势,
笔者提出开发完成了基于PCIE接口的嵌入式系统。所以,主机通过系统驱动与
PCIE2SATA芯片通讯,对挂载在PCIE外接卡上的SATA硬盘发送标准的ATA
指令,从而实现嵌入式系统的存储系统。
3.2基于WDM的PCIE设备驱动程序实现
由于系统的驱动完成了很多命令功能,篇幅有限,笔者特别截选了PCIE驱
动实现中最具有代表性的驱动命令字的实现细节,即PCIE驱动动态获取PCIE
外接卡中的物理存放器的分配地址和类型。
该解析过程是根据PICE3.0协议规定,PCIE硬件接口必须实现三类物理资
源存放器,一类是caseCmResourceTypePort
文档评论(0)