ztlhua
驱动牛犊
驱动牛犊
  • 注册日期2003-04-25
  • 最后登录2012-10-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1202回复:2

紧急求助:windriver开发的pci驱动程序在win2k下有问题,各位朋友应该同样遇到过,不知怎么解决?万分感谢,花点钱也行啊!

楼主#
更多 发布于:2003-04-25 01:40
我用Windriver的Kerplug方式开发了一个PCI板卡的驱动程序,是用Windriver自带的Kptest为骨架开发的。可是完成后却发现,当win2000系统中如果给我的板卡与其它的板卡分配了相同的中断,则打不开中断。而且现在很多新计算机在win2000系统下,都将pci板卡的中断分配到了irq15以上,这样也是肯定打不开中断的。但是同样的计算机,同样的源程序,却可以在win98系统下正常工作。哪位朋友能够在百忙中为兄弟解答一下?万分感谢。哪怕花点钱也行啊。
china_ming
驱动牛犊
驱动牛犊
  • 注册日期2003-03-28
  • 最后登录2009-10-12
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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 上去看它的技术支持的
ztlhua
驱动牛犊
驱动牛犊
  • 注册日期2003-04-25
  • 最后登录2012-10-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-08 10:37
谢谢china_mint。我已经设置为共享了,也有pItem->fNotSharable = FALSE;语句。
而且在win98系统下,当多个设备共用一个中断时是可以正常工作的。
但是在win2k系统下当多个设备共享中断的时候就不能正常工作了。
不知为什么?
游客

返回顶部