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.

[参考译文] DRA821U:从作为 PCIe 端点连接的器件读取 UDMA 时出现问题

Guru**** 2399305 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490411/dra821u-problem-reading-udma-from-device-connected-as-pcie-endpoint

器件型号:DRA821U
主题中讨论的其他器件:DRA821

工具与软件:

嗨、团队:

我的客户通过 uDMA 从作为 PCIe 端点连接的设备读取时遇到以下问题:

  • 它们具有基于 DRA821芯片的定制电路板(采用 VxWorks 24.03)
  • 当他们使用配置为64字节传输的 uDMA 通道时、他们从端点接收到正确的数据。
  • 当它们尝试使用配置为128或256字节传输的 uDMA 通道时:
    • 它们仅获取数据的前64字节块、然后 UDMA 进入 ERROR 状态
    • 对 uDMA 通道的所有后续调用都因错误而失败
    • 在端点端点端、他们看到它获取两个64字节的请求。 在 发送第1个的数据之前接收第2个字节
  • 他们已经尝试过:
    • 更改 MRPCIE_CORE_PFN_I_PCIe_DEV_CTRL_STATUS 寄存器的 MRRS 和 MPS 字段配置
    • 更改 UDMA_TCFG 和 UDMA_RCFG 寄存器中突发大小的配置

您能告知我们遗漏了什么或做错了什么吗?

此致!

Luke

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

    尊敬的 Luke:

    我建议客户联系 WindRiver、也看看这是否是他们认为的已知问题、因为 VxWorks 不是 TI 直接支持的操作系统。  

    如果是关于寄存器或我们的 Linux 驱动程序(TI PSDK Linux 的一部分)的一般问题、 我们可以在这里提供更好的支持。  

    无论是哪种情况、对于128字节或更多字节、我已经在 TRM 中了解了一些限制。 具体而言、以下摘录有关"PCIe 子系统施加最大128字节出站读取/写入命令的限制。" 以及在未与8字节边界对齐时如何减小该值:

    我还没有看到 TI 提供的 Linux 驱动程序存在问题、但这种限制可能会导致问题?

    此致、

    Takuma