X86 丢失与FPGA设备的链接

X86 丢失与FPGA设备的链接,x86,embedded-resource,linux-device-driver,fpga,pci,X86,Embedded Resource,Linux Device Driver,Fpga,Pci,我试图调试PCIe FPGA设备的设备驱动程序中有点奇怪的问题。设备驱动程序和FPGA映像都是在内部开发的 目标系统是x86,操作系统是Fedora9。它有一个插有FPGA的PCIe卡,这是它唯一的PCIe插槽。FPGA映像在从EEPROM引导后加载 驱动程序的编写方式是使用/sys/bus/pci/devices/0000:02:00.0/资源文件(其中0000:02:00.0是包含FPGA的卡的pci插槽)来配置FPGA 当系统引导(或从休眠状态返回)时,FPGA链接可能丢失,并且资源文件丢

我试图调试PCIe FPGA设备的设备驱动程序中有点奇怪的问题。设备驱动程序和FPGA映像都是在内部开发的

目标系统是x86,操作系统是Fedora9。它有一个插有FPGA的PCIe卡,这是它唯一的PCIe插槽。FPGA映像在从EEPROM引导后加载

驱动程序的编写方式是使用/sys/bus/pci/devices/0000:02:00.0/资源文件(其中0000:02:00.0是包含FPGA的卡的pci插槽)来配置FPGA

当系统引导(或从休眠状态返回)时,FPGA链接可能丢失,并且资源文件丢失。当FPGA正确引导时,一切正常(资源文件在那里)。 当系统进入休眠状态时,FPGA断电。当它从休眠状态返回时,FPGA通电,然后开始驱动程序初始化

我怀疑接下来的事情:

  • 固件中的一个bug-与PCI插件相关的东西
  • 内核中的一个bug-可能性最小,因为其他PCI卡可以很好地识别。仅
    此PCI卡存在问题
问题是:

  • 有没有人有过类似的问题
  • 还有什么不对劲
  • 对如何调试这个问题有什么建议吗
编辑


我刚刚发现,这与我看到的问题非常相似。

PCIe卡必须在特定时间内回复“有人在吗”消息。您的卡是否可能在休眠/重置后响应不够快

如果没有更多的设计细节,除了猜测之外,很难做任何事情


您能否列出系统工作和不工作之间的区别,即您在使卡工作方面做了哪些不同的工作

我终于设法调试了我的问题。在进入休眠之前,所有仍在使用资源文件的进程都将被终止。由于未知原因,一个进程没有释放资源,因此被终止。我们有一个看门狗,它使所有未运行的进程重新启动


当从休眠状态返回时,该进程重新启动,由于无法打开资源文件,它再次停止,然后声明了一个严重错误。经过一段很短的时间后,操作系统添加了资源文件,这个过程可以正常继续。

loss的拼写是L-O-S-I-N-G。@Paul我的目标系统是x86,我不确定它是否相关。你认为不是吗?也许-从你的问题中不太清楚你在寻找什么样的答案-这似乎更像是一个“呼救”,而不是一个具体的问题。不过,您可能想提及您的问题中的目标系统的详细信息,例如Linux、x86、32位PCI等。需要更多信息。例如,如何对FPGA进行编程?它是从PCI卡本身的配置内存加载的吗?我遇到的问题很难重现。我也这么认为,给卡上电需要很长时间,这会让软件变得一团糟。但是卡是通电并初始化的,它应该被linux热插件系统自动检测到,发生时应该注册资源文件。