yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
阅读:4082回复:11

PCI9030板卡开发中的问题与实现

楼主#
更多 发布于:2007-07-26 15:08
PCI9030板卡装好后,不插EEPROM,系统不能启动。然后在网上查找不能启动的原因,接着试验。
1、把DI脚下拉,DO脚不上拉,也不下拉,系统在自检时能找到903010B5的板卡,但不能进入系统。
2、网上有提示是EEPROM配置错误,按PLX   9030db-14.pdf文件中EEPROM默认设置配置后,系统能找到903010B5 8000板卡,仍不能进入系统。
3、类号8000不是文档中期待的0680,查阅PLX修正手册发现,EEPROM 0FFSET 08H有误,做了修改。修改为0680后,自检不能发现PCI卡。
4、参照PCI2.2 规范,修改类号为0780,0E00等在自检时都能找到相应的卡。但仍不能进入系统。按网上相关说明,估计还是EEPROM配置有问题。打算从硬件和配置两方面查找不能进入系统的原因,同时期待知道的哥们告知,谢谢!QQ:307895920
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-30 14:10
换一台PC一切OK。回到开始的一台电脑,取下slot2的TP-link网卡(配置芯片为93LC46),换上PCI9030卡,也可以。但换回最初PCI槽位slot4或slot5仍不行。TP-LINK网卡插到slot4/slot5,不插PCI9030时,TP-link网卡正常,如果slot2插上PCI9030仍然死机。具体原因不明,暂时使用slot2调试该板。
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-31 16:28
经过调试修改EEPROM的内容,发现EEPROM的内容可以直接导致系统死机现象的发生。EEPROM的配置十分关键。
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-02 09:34
新问题,在用windriver---PCI9030调试时,读取系统BIOS分配的I/O(BAR3)有效地址时,死机。正在努力解决中……
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-16 17:33
通过详细阅读9030db-14.pdf,特别是配置寄存器部分,已将PCI9030问题解决。采用Driver Wizard调试,一切正常。正在通过PCI9030努力调试FPGA,实现项目功能部分。
yayinsu
驱动牛犊
驱动牛犊
  • 注册日期2007-11-18
  • 最后登录2008-08-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-12-01 11:40
期待下文
我也正用9030,硬件Layout完成,软件部分刚着手
多交流阿
zixuan1982
驱动牛犊
驱动牛犊
  • 注册日期2007-08-28
  • 最后登录2008-02-02
  • 粉丝1
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-12-01 16:33
我Re:PCI9030板卡开发中的问题与实现
我用的9054J模式,我的地址和数据是复用的,LD0有什么特别的作用么?
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-12-20 13:05
PCI9030中断的问题让我郁闷了好一段时间,终于搞明白了。现在新的问题有出现了,如何在window驱动程序中开缓存,然后将缓存的数据(循环发送)发送到FPGA?以及如何写供应用程序调用的API函数。
fedlt
驱动牛犊
驱动牛犊
  • 注册日期2007-09-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-12-29 14:30
现在新的问题有出现了,如何在window驱动程序中开缓存,然后将缓存的数据(循环发送)发送到FPGA?以及如何写供应用程序调用的API函数。
    老兄,上面的才是驱动的关键啊!我用WINDRIVER开发,可是论坛都没有一个如何做驱动的详细实例。据论坛上的帖子,说WINDRIVER是直接调用,不是开发。按照那个入门教程生成了一个实例。跟DS做驱动差不多,有一个跟驱动程序通信的应用程序模板。但是具体API怎么写,又怎么弄成LIB库发布?茫然。。。看别人买的板子都是发布.H的头文件和.LIB的API库文件。驱动,别人是做成SETUP.EXE的,而不是.INF和.SYS文件。
    希望哪位仁兄做过全过程的产品开发的,能上来发个教程或者实例。期待中。。。。
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-01-31 15:19
windriver提供了一些接口函数。可以利用其提供的接口函数编写适合自己应用软件的接口函数,相当于再来一次封装。具体如何使用其接口函数可以参考windriver提供的sample或自己利用向导生成的源文件。如何封装成.h .lib .obj .dll则参考VC方面的资料可以找到答案。最简单的就是在windriver提供的sample 直接修改,完成适合自己的开发需求。
我实际应用中,是详细理解和测试了windriver  low level的API,在测试中断程序时花费了我不少时间。根据我的实际需求,改写成我需要的接口函数封装起来,提供给如VB或CVI等调用,生成用户的界面程序。
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-01-31 15:54
引用第8楼fedlt于2007-12-29 14:30发表的  :
可是论坛都没有一个如何做驱动的详细实例。据论坛上的帖子,说WINDRIVER是直接调用,不是开发。按照那个入门教程生成了一个实例。跟DS做驱动差不多,有一个跟驱动程序通信的应用程序模板。但是具体API怎么写,又怎么弄成LIB库发布?茫然。。。看别人买的板子都是发布.H的头文件和.LIB的API库文件。驱动,别人是做成SETUP.EXE的,而不是.INF和.SYS文件。
    希望哪位仁兄做过全过程的产品开发的,能上来发个教程或者实例。期待中。。。。

   我刚接触驱动,但是,通过这次的项目,有深刻的理解。明白了驱动的实质就是在硬件和应用软件之间提供比较稳定可靠,使用方便的接口函数。需要把对硬件操作抽象出来,按一定的原则或类提炼出来,通过接口函数对其进行操作处理控制。接口函数是面向应用程序。而把对硬件进行抽象,提炼出来则需要了解硬件本身的工作机制(状态/控制寄存器及中断方面的东西),根据操作系统的不同,对相应的硬件处理形式不同。无论是什么操作系统或根本没有操作系统,这一层驱动的目的和任务就是通过向应用层提供接口函数,而这个接口函数的功能就是完成对硬件的处理。其实windriver提供的API实质上已经完成了这一项的工作,所以,这就使驱动简化成把windriver的API灵活组织,调用封装成一个更容易让上层应用软件直接调用的函数。如果不做这一步工作,直接在应用程序调用windriver提供的.h .lib .obj .dll,也可直接写出相应的应用程序。也可以根据sample依葫芦画瓢,生成应用程序,打包,制作成安装程序即可。如果用windriver,只要软件功夫到位,就可直接写出比较好的程序,真正对硬件的处理在windriver的API中进行的,那才是真正的驱动部分。完全是个人的理解,无章无法,无招无式。
yy136
驱动牛犊
驱动牛犊
  • 注册日期2005-08-31
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分211分
  • 威望32点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2010-08-05 16:47
好久没来逛了。溜达哈子。QQ:307895920
下面一篇文章比较经典,可以参考哈子,有助于初学驱动者学习。
http://www.builder.com.cn/2007/0914/506746.shtml
该PCI板卡其它信息参考我在EDN的帖子。
http://bbs.ednchina.com/ShowTopic.aspx?id=43953
游客

返回顶部