阅读:1202回复:2
紧急求助:windriver开发的pci驱动程序在win2k下有问题,各位朋友应该同样遇到过,不知怎么解决?万分感谢,花点钱也行啊!
我用Windriver的Kerplug方式开发了一个PCI板卡的驱动程序,是用Windriver自带的Kptest为骨架开发的。可是完成后却发现,当win2000系统中如果给我的板卡与其它的板卡分配了相同的中断,则打不开中断。而且现在很多新计算机在win2000系统下,都将pci板卡的中断分配到了irq15以上,这样也是肯定打不开中断的。但是同样的计算机,同样的源程序,却可以在win98系统下正常工作。哪位朋友能够在百忙中为兄弟解答一下?万分感谢。哪怕花点钱也行啊。
|
|
沙发#
发布于:2003-05-07 16:14
你是不是在程序中未将IRQ设置为共享,Kerplug 方式下我不清楚,但是要 User Mode 下,一般都应有类似以下的代码:
DWORD i; // make interrupt resource sharable for (i=0; i<hPlx->cardReg.Card.dwItems; i++) { WD_ITEMS *pItem = &hPlx->cardReg.Card.Item; if (pItem->item==ITEM_INTERRUPT) pItem->fNotSharable = FALSE; } PCI的中断资源是必须共享的,这个在 WinDriver 的使用指南中有说到的,也可以上 WinDriver网站 http://www.jungo.com 上去看它的技术支持的 |
|
板凳#
发布于:2003-05-08 10:37
谢谢china_mint。我已经设置为共享了,也有pItem->fNotSharable = FALSE;语句。
而且在win98系统下,当多个设备共用一个中断时是可以正常工作的。 但是在win2k系统下当多个设备共享中断的时候就不能正常工作了。 不知为什么? |
|