zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1438回复:7

pci设备驱动程序的问题

楼主#
更多 发布于:2003-08-07 14:06
大家好:
一用户使用windriver驱动程序开发pci设备,为什么一产生中断
计算机就重新复位了?是什么原因,高手指点一下.
在中断服务程序中已经清了中断的,是中断没有正确挂接的问题吗,
还是windriver没有注册好,没有提供中断入口的问题
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-07 14:53
是不是在中断服务程序的开始处未清除中断标志位。
zxw_top,我想在准备学习vxworks,可否将你的vxworks下驱动的简单的源代码给我发一份。
有了驱动,人才有了力量。
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-08-07 16:09
如何清楚标志位呢?
兄台能否说明一点?
我晚上再把程序的详细中断部分发出来,请帮我看看。希望你晚上能上。另外再送10分。


不知道你需要VXWORKS什么设备的驱动源码,你说详细一些,再附上EMAIL,我好发给你。

fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-07 16:32
如何清楚标志位呢?
兄台能否说明一点?
我晚上再把程序的详细中断部分发出来,请帮我看看。希望你晚上能上。另外再送10分。


不知道你需要VXWORKS什么设备的驱动源码,你说详细一些,再附上EMAIL,我好发给你。

 

这只是我的猜测,以前我做pci9054的驱动时,pci9054产生中断,但是其中断服务程序并未清除9054的中断标志位,结果中断服务程序反复执行,导致死机。不知你的以后的情况是否一样。
另外,我想编写vxworks下的pci板子的驱动,但是我对vxworks下驱动的机制还不是很清楚,特别是驱动的建立(iosdrvinstall)和设备的产生,有人说调用iosdrvstall的函数,例如mydrv应该包含在 syslib.c中,但是我不知道是否所有的驱动的初始化函数都包含在一个syslib.c中。当然还有其他的一些疑问,所以想找一份别人做过的、可以的vxworks下驱动的源代码看一看。都说源代码是最好的老师!
除了周末,一般我一直在网上!
fwzfwz1@163.com

[编辑 -  8/7/03 by  fwzfwz1]
有了驱动,人才有了力量。
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-08-07 16:41
这个驱动程序的问题是收到中断就重新启动了,没有死机。

vxworks下面的驱动程序我有,可以给你参考参考。

告诉我你的邮件地址,我发给你。
fwzfwz1
驱动中牛
驱动中牛
  • 注册日期2002-11-01
  • 最后登录2007-06-01
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-07 16:46
这个驱动程序的问题是收到中断就重新启动了,没有死机。

vxworks下面的驱动程序我有,可以给你参考参考。

告诉我你的邮件地址,我发给你。

重启,那我不太清楚,你可以将你的中断服务程序贴上来让大伙看一看,给你分析一下。
我的邮箱:fwzfwz1@163.com
有了驱动,人才有了力量。
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2003-08-07 17:00
我现在贴不上,是一个客户的,晚上才发。
我晚上贴上来。
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-08-07 18:24
中断服务程序已经清中断了,可能是没有进入中断服务程序,一直产生中断,导致系统复位。
这是中断挂接程序,由windriver产生的

//Enable mpeg interrupt
if ( MPEG_IntIsEnabled(hMPEG) ) {
 MPEG_IntDisable(hMPEG);
}else{
if ( !MPEG_IntEnable(hMPEG, AVE2KLIB_InterruptMpegHandlerRoutine) )
goto exit1;
}


这是中断服务程序:

void AVE2KLIB_InterruptMpegHandlerRoutine(MPEG_HANDLE hMPEG, MPEG_INT_RESULT *intResult)
{
int i;
MPEG_SHARE* pstCurMpegShare= (MPEG_SHARE*)hMPEG->pMpegShare;  
MPEG_WriteDword(hMPEG,MPEG_AD_BAR0,0x4,0x2);  
  // 清中断
return ;
}
中断服务程序只是做了清中断一件事


vxworks pci驱动程序已发给你,你查收一下。
游客

返回顶部