工具与软件:
你(们)好
我们将通过 AM5728的 EMIF 使用 DDR3存储器、将从地址0xBD000000开始的16MB 存储器设置为 PCIe 的入站区域。 此设置用于运行 Windows 的 PC。 PCIe 配置当前设置为具有单通道的 PCIe 2.0、理论上应提供高达500MB/s 的传输速度 然而、观察到的性能明显较低、仅为2.5MB/s
正在使用的源代码来自 PCIe.c 文件、该文件位于 PDK 版本1.0.19的 am5728器件目录下。
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.
工具与软件:
你(们)好
我们将通过 AM5728的 EMIF 使用 DDR3存储器、将从地址0xBD000000开始的16MB 存储器设置为 PCIe 的入站区域。 此设置用于运行 Windows 的 PC。 PCIe 配置当前设置为具有单通道的 PCIe 2.0、理论上应提供高达500MB/s 的传输速度 然而、观察到的性能明显较低、仅为2.5MB/s
正在使用的源代码来自 PCIe.c 文件、该文件位于 PDK 版本1.0.19的 am5728器件目录下。
Hi Daewon,
由于 DMA 与其他启动事务的内核没有缓存一致性、因此 DMA 将需要更严格的缓存管理。 DMA 的功能是将数据事务卸载到 DMA 而不是 ARM 内核、因此、如果 ARM 内核成为瓶颈、这应该能够提高性能。
至于参考示例、我们这里有一个旧的 PCIe 示例: https://git.ti.com/cgit/keystone-rtos/common-csl-ip/tree/example/pcie/write_loopback/rc/rc_write_loopback_app_main.c?h=legacy_master。
RTOS PCIe 已被取消适用于较新的平台、并且这个旧的 PCIe 示例未维护、因此我们的支持将受到限制。 不过、我认为这是最好的在线示例。 否则、可以参考通用的非 PCIe 特定的 EDMA 示例。
此致、
Takuma