ysl206
驱动牛犊
驱动牛犊
  • 注册日期2003-06-27
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1878回复:1

PCI中断服务程序进不去,为啥,急

楼主#
更多 发布于:2004-05-21 11:44

用PC机作为目标机。
vwebEnableDevice(unit);

    if((pciIntConnect((VOIDFUNCPTR *)(INUM_TO_IVEC(vwDevice[unit].ivec+0x20)),(VOIDFUNCPTR)vIntr, (int)unit))==ERROR){
       printf(\"%%intConnect fail in taskEncoding fun.\\n\");
return ERROR;
}
//#define IVEC_TO_INUM(intVec) ((int) (intVec) >> 3)
      sysIntEnablePIC(vwDevice[unit].ivec);        
// sysIntEnablePIC(IVEC_TO_INUM(vwDevice[unit].ivec));      
出现
interrupt:
Uninitialized Interrupt!
Vector number 37 (0-255).
Program Counter: 0x001280ed
Status Register: 0x00000202
服务程序没有进去,一此都没有进去。
aquariuscamus
驱动小牛
驱动小牛
  • 注册日期2004-02-18
  • 最后登录2005-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-22 12:19
中断服务程序没有正确的挂上,可以在中断到来时前用Browser看看中断挂到哪里去了。

x86的中断都在pc.h中有定义,最好不要自己写,因为可以加0x20也可以由0xe0的,视不同机型而定
我的邮件地址:hwybird@sohu。com,两三天看一次
游客

返回顶部