ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:711.41KB ,
资源ID:13407983      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13407983.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用driverworks开发PCI驱动程序1.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

用driverworks开发PCI驱动程序1.docx

1、用driverworks开发PCI驱动程序1第一步 DriverWorks开发环境的建立我们用NuMega DriverStudio开发WDM驱动程序,它的环境建立步骤如下:1、 安装VC6.0;2、 安装相应操作系统的DDK(如2000DDK、98DDK等);3、 安装NuMega DriverStudio;4、 运行NuMega DriverStudio下Tools下的Setup DDK and Start MSVC程序;或自己在VC IDE中手动设置BASEDIR和CPU等环境变量。5、 用VC6.0打开NuMegaDriver StudioDriverWorksSourceVdwLib

2、s.dsw工程;6、 设置VC6.0的CompileConfig的配置为WDM Free或Checked;7、 编译VdwLibs.dsw库建立DriverWork的库文件,对Free 和Checked都要编译;8、 可以开始WDM驱动程序的开发了;第二步 用DriverWorks生成驱动程序框架 -以胜西S5933PCI卡为例步骤1:从程序组中选择或从VC6.0的主菜单DriverStudio中选择Driver Wizard菜单项,便会弹出DriverWorks NT/WDM驱动程序的基本框架生成向导,见下图: 图21步骤1步骤2:在Project下填入工程名,如SX5933。在Locati

3、on选择工程文件存放的目录,再点Next进入下一个对话框。选择WDM方式,再点Next进入硬件总线选择对话框。图22步骤2步骤3:在Select Hardware Bus单选框中选择PCI,并在下面的栏目中填入PCI Vendor ID(如10EB),PCI Device ID(如8376)。这两项必须与你要访问的PCI设备的VID和DID一致。PCI Sub system ID和PCI Revision ID可以不填。如填,也须与设备的SVID和SDID一致辞。如不填,须手动删除INF文件中的有关项。否则向导生成的INF文件不能完成该设备驱动程序的正常安装。图23步骤3点击Next进入步骤4

4、。图24步骤4步骤4:在此处可以修改Driver类名和文件名,也可采用系统默认的。点击Next进入步骤5。图25步骤5步骤5:此例去掉Read、Write、Cleanup的选择,只选择Device Control。当然用户可根据自己应用的需要来选择。点Next进入步骤6。图26步骤6步骤6:选择I/O串行化方式,此例选择了None。点击Next进入步骤7。图27步骤7步骤7:此对话框是用来在驱动程序开始时从寄存器加载参数用,此例未用,故可不做任何改动。点击Next进入步骤8。步骤8:设备类的定义和资源、接口、缓冲、电源的处理 根据你的硬件定义资源。如I/O口,MEMORY,中断等。SX5933

5、 PCI卡的PCI区域0(BAR0)为S5933内部寄存器用,区域1(BAR1)为SXL-100实验箱的I/O空间,区域2(BAR2)为SXL-100的存储空间。SX5933 PCI卡用到一个PCI中断。以下三步是针对SX5933PCI卡上的两个I/O端口(BAR0和BAR1)和MEM空间(BAR2)而定义的三个资源。向导会在驱动程序中加入相应的变量并替你完成映射。点击“Add IO Port(s)”按钮,在Name和PCI Base Address编辑框中输入如图2-9所示变量名IO0和数值0。其它地方可不做改动,或根据实际需要做相应变动。这样,变量m_IO0(只须输入IO0,向导会自动加上

6、m_)就与BAR0对应。图2-9再点击“Add IO Port(s)”按钮,在Name和PCI Base Address编辑框中输入如图2-10所示变量名IO1和数值1。其它地方法可不做改动,或根据实际需要做相应变动。这样,变量m_IO1(只须输入IO1,向导会自动加上m_)就与BAR1对应。图2-10点击“Add Memory Range”按钮,在Name和PCI Base Address编辑框中输入如图2-11所示变量名MEM0和数值2。其它地方法可不做改动,或根据实际需要做相应变动。这样,变量m_MEM0(只须输入MEM0,向导会自动加上m_)就与BAR2对应。图2-11点击“Add I

7、RQ”按钮,为设备驱动加入一个中断处理对象以及其ISR和DPC例程。向导会自动添加它们的初始化、连接代码。下面定义设备的接口。可定义两种对外接口,应用程序通过这两个接口中之一方可打开设备。这里选择用符号链接,且将符号链接名改成SX5933。该步骤中关于缓冲策略以及电源管理的设置可不做改动,或根据实际需要做相应变动。点击Next进入步骤9。步骤9:如要与应用程序或与其它驱动程序进行数据交换,须加必要的Device IO Control的控制代码。图2-12点击“Add ”按钮,在Parameter Name编辑框中输入如图2-13所示代码名称。其它地方法可不做改动,或根据实际需要做相应变动。然后

8、点击OK。图2-13再点击“Add ”按钮,在Parameter Name编辑框中输入如图2-14所示代码名称。其它地方法可不做改动,或根据实际需要做相应变动。然后点击OK。图2-14类似地,加入名为IOCTL_IO_WRITE的控制代码。向导会在SX5933ioctl.h头文件中定义这些控制代码。点击Next进入步骤10。步骤10:此步骤选择是否产生应用层的测试程序以及调试操作等。此例采用的是默认方式。点击Finish按钮,在接下来的提示框中点击OK。接着向导会问你是否现在就要在VC中打开此工程。如选择是,向导不但会直接在VC中打开该工程,而且还会替你将编译环境给你设置好。接下来用户可以根据自己的需求添加相关内容了。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2