This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5K2E04:通过 PCIe 与 FPGA 进行通信时出现入站问题

Guru**** 2590100 points
Other Parts Discussed in Thread: AM5K2E04

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642170/linux-am5k2e04-inbound-problem-on-communication-with-fpga-over-pcie

器件型号:AM5K2E04

工具/软件:Linux

你好!

我们的系统由 AM5K2E04芯片和 Xilinx FPGA 芯片组成。 它们通过 PCIe 进行连接。

我在 FPGA 中使用了 XPDMA IP 内核(具有 PCIe 内核和 DMA 内核)、还安装了 Xilinx 提供的适当 PCIe 驱动程序。

我可以使用 ARM 成功访问 FPGA 中的 PCIe 寄存器和 DMA 寄存器、这意味着我可以在出站方向正确执行 cfg 访问和存储器访问。

但 FPGA 中的 DMA 内核需要 FPGA 中的 PCIe 内核作为主设备、这意味着 AM5K2E04 PCIe 应能够在入站方向工作。

问题如下:  

1.当我以 PCIe RC 模式启动 Linux OS 时、仅配置了 BAR0、并且禁用了 BAR1。

2.当我安装 Xilinx 提供的 PCIe 驱动程序时,也不启用 BAR1。

3.当我按照 PCIe 用户指南中的说明启用 BAR1时、FPGA 启动的访问将不起作用。

4.当我检查 FPGA 中的 PCIe 寄存器时、会显示存在 CRC 错误。

由于 Linux OS 的默认配置、是否应禁用 BAR1?

如何正确使用驱动程序以及应该为入站访问配置哪个寄存器?  

非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的疑问转发给软件专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yuetan、

    如果我理解正确、BAR0应该是 cfg 空间、而 BAR1应该是数据空间。 当您提到已启用 BAR1时、您的意思是什么以及如何启用它? 您能否提供您提到的用户指南的链接?

    您是否为 PCIe 端点的数据映射配置了一个区域? 您可以参阅数据表中的 K2E 存储器映射。 有2个256MB PCIe 数据空间。 每个 PCIe 端口一个。

    雷克斯