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.

[参考译文] TMS320C6657:TMS320C6657:PCIe CPU 传输:从端点写入根复合体?

Guru**** 2538955 points
Other Parts Discussed in Thread: TMS320C6657

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1318821/tms320c6657-tms320c6657-pcie-cpu-transfer-write-from-endpoint-to-root-complex

器件型号:TMS320C6657

你好  

我使用两个 EVM (TMS320c6657)、使用 PCIe 进行通信。

我可以同时使用 EDMA 进行读写、现在我想使用 CPU 测试写入操作。

从根复合体写入端点:好的,但我不能写另一种方式:端点-->根复合体: ko

是否有一些特殊配置可以从端点写入根复合体?  

谢谢  

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

    您好!

    专家不在办公室。 请预计回复会延迟。

    -基尔西

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

    据我所知、总线主控位应该在端点配置、所以它可以写回 RC。 还要注意可能的翻译。

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

    尊敬的 

    以下是示例 PCIe 示例的 readme.txt 中的内容:-

    ================================

    测试根复合体和端点之间数据事务以及端点之间数据事务的序列/示例

    ================================

    请注意、Shann 是指"C6678"。 但我认为、这一顺序也适用于 C6657。

    --  


    *文件用途: PCIe 示例项目的自述文件

    *文件名: readme.txt
    *版权所有(C) 2011、德州仪器(TI)公司。

    该示例演示了如何使用 PCIe LLD 中提供的 API。 此示例不起作用
    香农仿真器中。
    检查发行说明以了解前提条件、工具和版本信息。

    ----------------
    示例概述
    ----------------

    在 PCIe 示例中、使用了两个 Shannon EVM 来测试 PCIe 驱动程序。 如下图所示、香农1配置为根复合体、香农2配置为端点。

    香农1                  香农2
    ----------------               ----------------

    |根     |         PCIe 链路  |端点|
    |复数|------------------------------------------------------- >|          |
    ----------------               ----------------


    启动时、每个 EVM 配置其 PCIe 子系统:
    •串行器/解串器、时钟、PLL
    •PCIe 模式和电源域
    •入站/出站地址转换和条形码寄存器
    •已触发链路训练

    PCIe 链路建立后、将发生以下事件序列:
    •香农1将数据发送到香农2
    •香农2等待接收所有数据
    •Shannon 2将数据发送回 Shannon 1
    •香农1等待接收所有数据
    •Shannon 1验证接收到的数据是否与发送的数据匹配、并声明测试通过或失败。

    ----------------
    运行示例的步骤
    ----------------
    1.构建示例
    2、在两个 EVM 中执行系统复位
    3.在两个 EVM 中都将 exampleProject.out 载入内核零
    4.在 Shannon 1中、使用 CCS 监视窗口来修改全局变量变量的值
    变量 PcieModeGbl。 在本例中、Shannon 1是一个根复合体、
    因此、将 PcieModeGbl 设置为 PCIe_RC_MODE (这可以通过下拉菜单完成)
    "Watch"窗口中选择菜单)。
    5.单击 CCS 中两个 EVM 的"Run"按钮(这两个 EVM 之间可以有几秒钟的时间
    单击两侧的"运行"按钮)。

    ----------------
    预期结果
    ----------------
    1.在 Shannon 1 CCS 控制台中将更新测试状态。 最后、该消息
    需要"测试通过"。
    2.在 Shannon 2 CCS 控制台中将更新测试状态。 最后、该消息
    预计为"测试结束"。

     ===

    如果您不使用 PDK 示例、请将您的代码与此示例进行比较。

    ----------------------------------------------------------------------------------------------------------------------------------------------

    对于端点配置( pcieRet_e pcieCfgEP (Pcie_Handle handle))、请参考\ti\drv\pcie\examples\sample\pcie\pci_sample.c 下的源代码 src

    或者 PCIe 的示例项目--->"PCIe_evmc6657_wSoCFile_C66BiosExampleProject"

    此致

    尚卡里