PCI设备的WDM驱动程序设计-9052

PCI设备的WDM驱动程序设计-9052

ID:37873967

大小:70.00 KB

页数:8页

时间:2019-06-01

PCI设备的WDM驱动程序设计-9052_第1页
PCI设备的WDM驱动程序设计-9052_第2页
PCI设备的WDM驱动程序设计-9052_第3页
PCI设备的WDM驱动程序设计-9052_第4页
PCI设备的WDM驱动程序设计-9052_第5页
资源描述:

《PCI设备的WDM驱动程序设计-9052》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PCI设备的WDM驱动程序设计柳泉罗耀华柳华伟摘要:本文详细地讨论了利用DDK开发PCI设备的WDM驱动程序的设计原理、方法及在设计中注意事项,实现了以芯片PCI9052开发的PCI卡的具有内存和I/O读写及中断处理的WDM驱动程序。关键字:PCI,WDM,驱动程序,DDK在Windows操作系统中,为了保证系统的安全性和可移植性,对应用程序对硬件的操作进行了限制,尤其Windows2000和WindowsXP,不支持直接对系统的硬件资源的操作。因而在设计开发PCI设备时,需要开发相应的驱动程序来实现对PCI设备的操作,用户应用程

2、序通过驱动程序来访问PCI设备。由于计算机硬件设备都存在不同的特点,因此各种设备的驱动程序也都有自己的特点,比如PCI设备、USB设备等等。尽管在整体框架中基本相同,但设备功能上不同,因此本文以PCI桥芯片PCI9052开发的PCI卡为硬件设备,来探讨PCI设备的驱动程序的开发。1.驱动程序类型和开发工具的选择在WINDOWS操作系统下,支持PCI总线及其设备的驱动程序类型有支持Windows98/95的VxD、支持WindowsNT的NT式驱动程序和支持Windows2000、WindowsXP和Windows98的WDM(Wi

3、ndowsDriverModel)。前两种驱动程序类型由于其支持的操作系统的逐渐淘汰而淘汰。现在主流的操作系统是Windows2000和WindowsXP,因此开发PCI设备的驱动程序最好的方案是WDM驱动程序。在一个系统中开发出WDM驱动程序,稍加修改即可在其他系统中编译运行。WDM是在WindowsNT驱动程序体系的基础上发展而来的,修改或增加了即插即用、电源管理等功能,使之适应硬件和用户的要求。开发WDM驱动程序的主要工具是微软为各操作系统提供的开发软件包DeviceDriverKits(DDK),该软件包为驱动程序开发者提

4、供了用于驱动程序开发的资源文件、编译连接程序、开发技术文档等。还有第三方提供的开发工具:NuMega公司的DriverStudio和Jungo公司的WinDriver,这些工具是在DDK的基础上为方便开发用户而进行开发的工具。在使用中,虽然利用DDK开发驱动程序难度较大,但是代码非常简洁,结构清晰,效率也高。利用第三方开发工具使用简单,开发速度较快,但对于驱动程序的理解和深入开发不如DDK。因此选择DDK开发PCI设备驱动程序,虽然开始会觉得非常复杂,但从执行效率和功能上会更有利。2.PCI设备驱动程序的特点在开发驱动程序之前对P

5、CI总线和硬件设备进行了解是十分必要的,而且还要详细地掌握PCI设备的特性以及PCI设备驱动程序在设备程序栈的关系等,以便进行WDM驱动程序的设计。PCI总线是一种高性能、与CPU无关的32/64位地址数据复用的总线,它支持突发传输、即插即用、电源管理等功能,不但能满足现在的应用需要,而且能够适应未来的需求。PCI总线支持硬件资源动态自动配置,以支持即插即用。在PCI设备插入PCI插槽或上电后,PCI总线配置机构自动根据PCI设备的要求实现配置。PCI总线支持内存读写、I/O端口读写、中断机制和DMA功能。由于这些硬件特点使PCI

6、设备的WDM驱动程序的设计变得很复杂。在开发WDM驱动程序之前,还有必须掌握PCI设备的需要分配的资源等配置信息以及PCI设备的功能和操作方法。在WDM中,采用了分层的驱动程序体系结构,总线驱动程序或类驱动程序在最底层直接与设备打交道,设备功能驱动程序在上层通过与低层驱动程序打交道,实现设备的功能,中间还可以有类过滤驱动程序或设备过滤驱动程序用于数据的过滤或转换。在PCI总线的驱动程序层中,其层次图如图4:更多的PCI设备的功能驱动程序和过滤驱动程序上层PCI类过滤驱动程序上层PCI设备过滤驱动程序PCI设备功能驱动程序低层PCI

7、类过滤驱动过滤程序低层PCI设备过滤驱动程序PCI总线过滤驱动程序PCI总线驱动程序图1通用PCI总线的WDM驱动程序栈在实际开发中,一般无需分很多层次,只需要开发一个设备驱动程序即可。设备驱动程序直接与PCI总线驱动程序打交道,进行硬件操作,以实现PCI设备的功能。1.WDM驱动程序的设计在PCI设备的WDM驱动程序中,一般是编写功能驱动程序。PCI总线驱动程序由操作系统实现,过滤驱动程序一般在特殊的情况下需要编写。因此本文只讨论PCI设备功能驱动程序的设计。在PCI设备功能驱动程序中,需要处理PCI设备的内存、端口的读写、中断

8、处理和DMA数据传输,实现PCI设备的功能,因此,PCI设备功能驱动程序是很标准的WDM设备驱动程序。PCI设备驱动程序在框架上与其他类型的设备驱动程序基本相同,包括初始化、创建设备、卸载和删除设备、即插即用处理、分发例程处理、电源管理、WMI等部

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

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

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