阅读:1676回复:9
请高人指教,我的PCI卡驱动出了问题(50分)
1、我用98DDK编了一个9052 PCI卡的驱动程序,这个程序目前只是把系统分配斤PCI卡的资源用DebugPrint显示出来,资源要求在我卡上的EEPROM上配置好了。
2、把卡安装在计算机上以后,开机,WIN98发现了卡,要求安装驱动程序,把我开发的驱动装上以后,可以在DebugPrint Monitor中看到系统给我分配的资源信息是正确的。 3、但是,下一次再启动计算机时,Win98就起不来了,停留在将要出现启动成功的界面以前了,屏幕上光标一闪一闪的,就死了。 4、我进入安全模式,把注册表里相关内容(ENUM\\PCI)中我的卡的信息删除,再删除我的INF和DRIVER.sys。再次启动时就可以了,然后,系统提示发现新硬件要安装驱动程序,情况同2、3的一样。 请问,这是什么原因造成的?是我驱动程序中的哪些地方可能出了问题? 请高手指教。 |
|
最新喜欢:mapofl |
沙发#
发布于:2003-05-22 21:57
我用PLX公司SDK中的驱动能起来,但我的驱动就不行。
很郁闷! |
|
板凳#
发布于:2003-05-23 09:54
我想你需要将分配的资源信息存储下来,当驱动加载过程中配置相应的资源,你可以参考DDK中的general驱动,很简单,单也使用了端口资源等
|
|
|
地板#
发布于:2003-05-23 10:15
你这种情况我遇到过,最有可能的是,你的ISR有问题!中断一来,就一直在你的ISR里面循环,导致你的系统忙!解决问题是:你先判断寄存器里的值是不是你的中断,然后才判断当前有没有IRP!记住,这个顺序绝不能反的!
|
|
地下室#
发布于:2003-05-23 10:41
感谢AllenZh的回答,我已经在StartDevice中获取了系统资源,并把它们保存到了设备扩展中,但出现了上面的问题。
谢谢edriver,我又学了一招。我现在只是获取了资源,包括中断,但没敢打开中断,因此也没有写ISR,我想一步步来,以后再加入ISR。我只是把获取到的资源保存起来,并在DebugPrint Monitor中显示出来。 请问还有其它可能吗? |
|
5楼#
发布于:2003-05-23 11:11
用si跟
|
|
6楼#
发布于:2003-05-23 16:57
用si跟 arthurtu兄能否告诉一下,怎么跟踪。我只会用peek和poke读写寄存器。谢谢! |
|
7楼#
发布于:2003-05-23 18:57
见email
|
|
8楼#
发布于:2003-05-26 14:17
可能你的驱动程序释放资源或unload例程有问题。
|
|
|
9楼#
发布于:2003-05-26 17:26
是不是inf写的不对
|
|
|