walkinchip
驱动牛犊
驱动牛犊
  • 注册日期2004-05-10
  • 最后登录2006-01-10
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2281回复:8

一个PCI驱动程序的问题,迷惑不解,望高手解答,谢谢!

楼主#
更多 发布于:2004-05-13 09:59
我在用FPGA做PCI卡时遇到一问题,实现是一个从设备,硬件时序已全部正确,用WINDRIVER做驱动程序开发,在WINDOWS中已成功注册本设备。
配置空间已可自由访问,但内存空间读写时不成功,用逻辑分析仪观察,发现总线上有另一个设备和我的设备同时应答了对我的内存空间的访问作业,并且抬高了TRDY#的电平,使我的设备的应答无法被主设备承认,然后此另一设备用STOP#有效的方式终止了此作业。
我在设备管理器中禁用了另一PCI设备(网卡),然后用WINDRIVER对禁用了的网卡的内存空间进行访问,在逻辑分析仪上观察到了同样的现象。
感觉我的设备还没有完全被WINDOWS或主板硬件所注册成功,还处于禁用状态,所以主板硬件认为对这个内存空间的访问不会有设备应答,所以有一个默认的从设备出来应答了对这个内存空间的访问。
但是WINDOWS的设备管理器中该设备的工作状态都是正常的。
还请高手指点,谢谢!
初来此地,可用给分范围才20分,惭愧!但如有相助,不敢忘恩,我用VERILOG写的FPGA的从设备和主设备在网络交换机上都已成功运行多年,版本PCI2.1,愿意与储位分享经验,此次是头次移到计算机上,WIN2000操作系统下, 以前在DOS下也做过,没有这种问题。

walkinchip
aha_here
驱动小牛
驱动小牛
  • 注册日期2003-10-11
  • 最后登录2009-03-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-13 11:45
好问题!但我不懂,有兴趣,能分享源代码吗
e-mail:aha_here@sohu.com
[size=3][color=red]勤学好问[/color][/size] [img]http://www.driverdevelop.com/forum/avatar/aha_here_xiao_zu.gif[/img]
aha_here
驱动小牛
驱动小牛
  • 注册日期2003-10-11
  • 最后登录2009-03-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-13 11:51
不知道楼主是用什么工具开发的?我做过9054的,但我一看这么大一个协议要用HDL语言,就有点头大。难吗?
[size=3][color=red]勤学好问[/color][/size] [img]http://www.driverdevelop.com/forum/avatar/aha_here_xiao_zu.gif[/img]
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-13 16:37
我也想学学,
多谢了,大侠!
yachong@163.net
我姓龙,我属龙,我叫龙。。。
Ymd1023
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2008-05-07
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-14 10:47
我也想学,楼主能指导一下吗?
YMD1023@TOM.COM
YMD
walkinchip
驱动牛犊
驱动牛犊
  • 注册日期2004-05-10
  • 最后登录2006-01-10
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-17 10:41
  如果你们在设计时遇到有问题,在下力所能及,当乐于一起讨论,但是源代码涉及知识产权,虽然是我设计的,但同时也是公司的财产,这个无法共享的,否则我要坐牢的,有先例的,对不起各位了。
  现在好像是我遇到问题需要解答啊!!!
walkinchip
hudan
驱动牛犊
驱动牛犊
  • 注册日期2003-02-14
  • 最后登录2004-06-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-18 10:11
我也在做相同的东西,不过用拉ALTER的PCI核,现在还没到调试阶段,不知到时候会不会和你遇到相同的问题,协议部分程序也是你自己做吗?佩服佩服,实在解决不了你就试试ALTER的IP核。
walkinchip
驱动牛犊
驱动牛犊
  • 注册日期2004-05-10
  • 最后登录2006-01-10
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-05-21 16:15
  所有的东西都是自行设计的,我感觉不是设计上的问题,而像是设备管理上的问题,这个地址空间仿佛是操作系统或主板硬件系统认为没有设备占用。配置空间是可以自由访问的,我现在已经扩展了配置空间,数据从配置空间通道中走,这样带宽窄了些,用10来个寄存器来完成读写8K内存地址空间,不能发挥PCI突发传输的优势,实在不甘,仅作权宜之计。
  我这个毛病有可能跟我用的是工控机服务器有关,它的硬件体系与普通PC不一样。
  现在还有个问题想请教高手一下,这个应该容易解答了,我在调用WINDRIVER的InterruptEnable函数安装中断时,总不成功,提示:
  status 0x20000001 - Invalid handle
  可是我仔细检查了,我的句柄都有啊。
  谢先了!
walkinchip
cjfwindy
驱动牛犊
驱动牛犊
  • 注册日期2003-11-13
  • 最后登录2018-11-24
  • 粉丝0
  • 关注0
  • 积分-29分
  • 威望70点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2009-09-25 12:58
有谁需要ALTERA的ip核,qq57694560,cjfwindy@163.com
游客

返回顶部