我正在尝试在PCIE FPGA设备的设备驱动程序中调试一些奇怪的问题。设备驱动程序和FPGA图像均在房屋中开发。

目标系统为X86,OS是Fedora 9.它具有带有FPGA的PCIE卡,插入了PCIE插槽中。 FPGA图像是从EEPROM引导后加载的。

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

当系统启动(或从Hibernation返回时)时,FPGA链接接缝将丢失,并且资源文件丢失。当FPGA靴子正确时,一切正常(资源文件就在那里)。当系统进入冬眠时,FPGA会关闭。当它从冬眠返回时,在开始驱动器初始化之前,FPGA将打开。

我怀疑接下来的事情:

  • 固件中的错误 - 与PCI插入有关的东西?
  • 内核中的一个错误 - 最不可能,因为其他PCI卡良好。仅有的
    这张PCI卡问题问题

问题是:

  • 有人有类似的问题吗?
  • 还有什么问题?
  • 关于如何调试此问题的任何建议?

编辑

我刚刚找到 这个错误, ,这与我看到的问题非常相似。

有帮助吗?

解决方案

PCIE卡必须在一定时间内回复“任何人”消息。冬眠 /重置后,您的卡是否可能不够快地响应?

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

您能列出系统工作与不工作之间的差异吗?

其他提示

我终于设法调试了我的问题。在进入冬眠之前,所有仍在使用资源文件的过程都被杀死。由于某些未知原因,一个过程没有释放资源,并被杀死。我们有一个看门狗,它重新生成了未运行的所有过程。

从冬眠中回来时,此过程重新启动,并且由于无法打开资源文件,它再次死亡,然后宣布了一个严重错误。经过一段时间之后,OS添加了资源文件,并且此过程可能正常继续。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top