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.
您好,
我们需要测试标记为 TDA4_A、TDA4_B 的两个 TDA4芯片之间的 PCIe 通信、并通过 PCIe 接口在两个 TDA4芯片之间传输图像数据。
我们硬件上的 PCIe 时钟 TDA4_A 为 TDA4_B 提供时钟 电路原理图如下:
同时、我们还可以选择使用 R3004和 R3006通过外部时钟为 TDA4_A 和 TDA4_B 的 PCIe 接口提供时钟。
使用外部时钟时、我们遵循 ti-processor-sdk-linux-Automotive J7-EVM-07_00_00用户指南第3.2.2.8节中的方法。 TDA4_A 使用 RC 模式,TDA4_B 使用 EP 模式,TDA4_A 可以正确读取 TDA4_B 的节点。
但是、当我们使用 TDA4_A 为 TDA4_B 提供时钟时、TDA4_A 使用 RC 模式、TDA4_B 使用 EP 模式、TDA4_A 无法读取 TDA4_B 的节点
问题如下
使用 TDA4_A 为 TDA4_B 提供时钟、我们需要修改哪些内容才能实现 TDA4_A 和 TDA4_B PCIe 通信?的功能
2.在用户指南《使用 PCIe 背板的多芯片视频捕获应用 PSDK_RTOS_auto_J7_06_02_00_21的 VISION_APP 示例》中、我可以在两个 TDA4之间实现图像传输。 但两个 TDA4处于 RC 模式、需要使用 TDA4作为背板。
如果我的 TDA4_A 配置为 RC、TDA4_B 配置为 EP、是否有任何相关示例可实现两者的图像传输? 如果没有、我们如何修改多芯片视频捕捉应用示例以实现此功能?
此致!
Kepei
是否有专家可以回答我的问题?
Buawkp、
当前 SDK 不支持输出 REFCLK。 我们有内部工作来启用和测试它、但尚未完成。
在 使用 PCIe 背板示例的多芯片视频采集应用演示用户指南中、您能否向我发送直接链接?
要将其中一个 SOC 用作背板、您可以参考:
本指南参考 Linux 驱动程序、但如何在 Backplan 器件中配置条形图的概念也适用于 RTOS 示例。
如果您有关于 Visionapp 模块的其他问题、我可以让我的一位同事在您向我发送直接链接后回答。
此致
Jian
您好 Jian,
感谢您的回复!
这是 PSDK06_02_00_21中"使用 PCIe 背板的多芯片视频采集应用示例"的链接:
https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/06_02_00_21/exports/docs/vision_apps/docs/user_guide/APP_PCIE_VIDEO.html
在 PSDK_RTOS_auto_J7_07_00_00_11中、删除了此示例。
在本示例中、需要首先使用 NTB_PEER 模块、但会在 ti-processor-sdk-linux-Automotive J7-EVM-07_00_00内核中删除此模块。
我的问题是:
一个 TDA4_A 段用作 RC、另一个 TDA4_B 段用作 EP。 是否可以在 VISION_APPS/内核/SAMPLE/r5f/中使用 PCIe_TX_node 和 PCIe_Rx_node 来实现视频传输?
2.我需要对 Linux 内核和驱动程序进行哪些更改?
谢谢!
Kepei
Kepei、
您可以使用 RC-EP 配置在每侧执行显示捕捉功能。 但我认为您不能按原样使用这些节点。 我将要求我的同事检查脚本的内容:
采集 EVM:
显示 EVM:
run_app_pcie_video_sink.sh
您好 Jian,
谢谢!
我根据您的建议对其进行了测试、并将其用于接收和显示 EP 侧的图像、但 EP 侧发生了以下错误:
地址转换地址看起来不正确:
[MCU2_0] 100.280481 s:TranslationCfg.sizeInBytes 为0x10000、baseAddress 为0xadff0000、translatedAddress 为0xffffffffff
[MCU2_0] 100.280572 s:appPcieSetupRat ():CSL_ratConfigRegionTranslation ()中的错误
在 NTB_PEER 驱动程序中、在 net_peer modprobe 期间配置了 translatedAddress 地址。
此致。
Kepei
您好、Kebi、
为了在 RC 和 EP 之间实现与 NTB 相似的功能、应该编写一个新的"端点功能"和一个新的"主机端驱动器"、这两个功能都提供与 NTB 对等器件相似的功能。
端点功能驱动程序:
您可以参考 drivers/PCI/端点/函数/PCI-EPF-test.c 并编写 驱动程序、以提供与端点端点端点端点的 NTB_PEER 功能相似的功能。
在这里、您必须使用 PCI_EPC_MAP_addr ()来映射远程地址、 并使用 PCI_EPC_SET_bar ()来允许 RC 访问 EP 存储器。
主机侧驱动器:
您可以参考 drivers/MISC/PCI-endpoint-test.c 并 编写一个驱动程序、以提供与主机端的 NTB_PEER 功能相似的功能。
struct pci_dev *pdev (资源成员)将具有访问 EP 存储器的物理地址。 您可以在 pci_endpoint_test_copy ()、 pci_endpoint_test_read ()、 pci_endpoint_test_write ()中引用如何将本地地址传递给远程设备
谢谢
Kishon
您好、Kebi、
感谢您的确认、我们正在积极处理与内部时钟相关的另一个线程、我们应该在接下来的几天内进行更新。
让我们继续讨论。
现在关闭此主题。
此致
Karthik