illdragon
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1029回复:3

这里让我忘了失恋之痛

楼主#
更多 发布于:2003-08-06 16:23
初来这里,激动的心情象哥伦布发现了新大陆,各位不要笑我菜,
这里的人都操着流利的我不知道是什么东东的术语,唯一了以自慰的是没有不认识的字。我都忘了失恋之痛,附上一个很菜对我很难的问题,各位可以打我,不要笑我。

我用windriver写的PCI卡的驱动,在处理PCI中断的时候,我按照Windriver的要求写了传送命令去Cancel中断源,单步执行到DeviceIoControl()时死机,虽然我的PCI卡上的中断信号一直处于无效状态。也就是WD-IntEnable()执行失败。
请各位不吝赐教。
斑竹,小弟这里有礼了。(附上程序)

NT_THREAD_DATA *pThread;
WD_TRANSFER trans[2];
*phThread = NULL;

   BZERO(trans);
   trans[0].cmdTrans = RP_DWORD; // Read Port Dword
   // Set address of IO port to write to:
   trans[0].dwPort = TRY84_AD_BAR1+0x4;
   trans[1].cmdTrans = WP_DWORD; // Write Port Dword
   // address of IO port to write to
   trans[1].dwPort = TRY84_AD_BAR0+0x38;
   // the data to write to the IO port
   trans[1].Data.Dword = 0;
   pInt->dwCmds = 2;
   pInt->Cmd = trans;
   pInt->dwOptions =INTERRUPT_LEVEL_SENSITIVE | INTERRUPT_CMD_COPY;

        WD_IntEnable (hWD, pInt);
        // check if WD_IntEnable failed
        if (!pInt->fEnableOk)
            return FALSE;


在WD_IntEnable (hWD, pInt)里面会调用
DeviceIoControl(hWD, (DWORD) wFuncNum, (PVOID) pParam,
                  (DWORD) dwSize, NULL, 0, &GlobalDW, NULL);
执行到这里就死机了。
illdragon
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-07 09:37
各位大侠请有了解的吗,该出手时就出手,10分等你拿。
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-08-07 09:45
EXAMPLE
WD_INTERRUPT Intrp;

BZERO(Intrp); // from WD_CardRegister()

Intrp.hInterrupt = hInterrupt;

Intrp.Cmd = NULL;

Intrp.dwCmds = 0;

Intrp.dwOptions = 0; // from WD_KernelPlugInOpen()

Intrp.kpCall.hKernelPlugIn = hKernelPlugIn;

WD_IntEnable(hWD, &Intrp);

if (!Intrp.fEnableOk)
 printf (\"failed enabling interrupt\\n\");
illdragon
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-11 12:21
老大给我的太高深了,是要用KERNELPLUGIN的,我也试过了,没成功,谢谢你,怎么给分给你,我找了半天都没法给分,
  后来我查高我程序的原因了,不是程序的问题,我换了一台电脑后就好了,真他吗的郁闷,我所用的两台电脑都被我搞的系统快崩溃了,换了新的好了,
    共勉,你给我回一个,我给分给你
游客

返回顶部