欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

多设备驱动开发解决方法

更新时间: 2014-01-05 03:19:22 责任编辑: Author_N1

 

多设备驱动开发
问题:我想用一个驱动程序实现多个PCI设备的驱动

PCI设备上挂接了4个串口转PCI的硬件设备,还有一个FPGA的PCI设备,我想用一个驱动程序实现这5个PCI设备的驱动,不知如何实现。
--参考方法--
应该没有关系的吧,pdo不是都一样的吗?嗯~ o(* ̄▽ ̄*)o 因为硬件模块上已经有芯片转成了PCI接口的时序了,所以可以直接用DDK的程序模块去处理,这部分我们貌似也写不了。
楼主之前写过的PCI驱动应该能用的,对那几个设备都挂上这个驱动就可以了吧 "o((>ω< ))o" 我猜的。
如果是加驱动实例 WDM 驱动是在AddDevice里面加,NT 驱动在CreateDevice里面加。

给楼主一个 NT 驱动加两个设备的栗子,虽然不是PCI的  \( ̄︶ ̄)/


/************************************************************************
* 文件名称:Driver.cpp                                                 
* 作    者:张帆
* 完成日期:2007-11-1
*************************************************************************/

#include "Driver.h"

#pragma INITCODE
void Dump(IN PDRIVER_OBJECT pDriverObject)
{
KdPrint(("----------------------------------------------\n"));
KdPrint(("Begin Dump...\n"));
KdPrint(("Driver Address:0X%08X\n",pDriverObject));
KdPrint(("Driver name:%wZ\n",&pDriverObject->DriverName));
KdPrint(("Driver HardwareDatabase:%wZ\n",pDriverObject->HardwareDatabase));
KdPrint(("Driver first device:0X%08X\n",pDriverObject->DeviceObject));

PDEVICE_OBJECT pDevice = pDriverObject->DeviceObject;
int i=1;
for (;pDevice!=NULL;pDevice = pDevice->NextDevice)
{
KdPrint(("The %d device\n",i++));
KdPrint(("Device AttachedDevice:0X%08X\n",pDevice->AttachedDevice));
KdPrint(("Device NextDevice:0X%08X\n",pDevice->NextDevice));
KdPrint(("Device StackSize:%d\n",pDevice->StackSize));
KdPrint(("Device's DriverObject:0X%08X\n",pDevice->DriverObject));
}

KdPrint(("Dump over!\n"));
KdPrint(("----------------------------------------------\n"));
}

/************************************************************************
* 函数名称:CreateDevice
* 功能描述:初始化设备对象
* 参数列表:
      pDriverObject:从I/O管理器中传进来的驱动对象
* 返回 值:返回初始化状态
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:19:22
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20760/
本文WWW.DOC100.NET DOC100.NET版权所有。