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.

[参考译文] TDA4VE-Q1:TDA4VE PCIe

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1284621/tda4ve-q1-tda4ve-pcie

器件型号:TDA4VE-Q1
主题中讨论的其他器件:TDA4VH、TDA4VM

您好:

    我可以问如何为 TDA4VE 的 PCIe EP 配置配置空间

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

    您好:

      工业计算机无法获取配置空间参数。

    I 设置:

    cd /sys/kernel/config/pci_ep
    mkdir functions/PCI_EPF_TEST/func1
    echo 0x104c
    > functions/PCI_EPF_TEST/func1/VendorID echo 0xb00d
    > functions/PCI_EPF_TEST/func1/deviceid
    echo 2 > functions/PCI_EPF_TEST/msi_func1/msi_echo 2 > functions/PCI_EPFEPF_TEST/func1/funcs_interrupts 
    echo 0x5 >functions/PCI_EPF_test/func1/baseclass_code
    echo 0x80 > functions/PCI_EPF_test/func1/subclass_code
    ln -s functions/PCI_EPF_TEST/func1 controllers/291000.PCIe-EP/
    回波1 >控制器/2910000.PCIe-EP/START
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,香港

    我有两个请求:

    1. 您能否确保 defconfig 文件位于 /board-support/linux-*用于 J721S2 的/arch/arm64/configs 使用 SDK 文档中提到的内核配置进行配置:https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/09_00_01_03/exports/docs/linux/Foundational_Components 内核/Kernel Kernel_Drivers PCIe/SDIS5.html Ie_End_Point? 如果您可以在 EVM 板上从"zcat /proc/config.gz "发送输出、则我们也可以验证是否设置了正确的 Linux 驱动程序配置。
    2. 在工业计算机侧、假设工业计算机运行 Linux、您可以从"lspci"发送输出吗? 我假设即使是从 lspci 也未检测到 TDA4VE、因为您提到无法获取配置空间参数、但我想确定确实是这样。

    此致、

    大沼市

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

    您好:

      工业计算机运行的是 Windows。

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

    您好,香港

    您能尝试一下我上一篇文章中的1吗?

    此外、对于2、你能否获得与 Windows 等效的 lspci? 我假设有一种方法可以查看 Windows 是否已完成链路训练、以便查看 PCIe 设备是否以特定 PCIe 生成速度进行链路、以及检测到多少个通道等等。

    此致、

    大沼市

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

    您好:

      Windows 无法获取配置空间。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #k3-j721s2-common-proc-board.dts
    &pcie1_rc {
    phys = <&serdes0_pcie_link>;
    phy-names = "pcie-phy";
    num-lanes = <1>;
    status = "disabled";
    };
    &pcie1_ep {
    phys = <&serdes0_pcie_link>;
    phy-names = "pcie-phy";
    num-lanes = <1>;
    status = "okay";
    };
    #tisdk_j721s2-evm_defconfig
    #
    # PCI Endpoint
    #
    CONFIG_PCI_ENDPOINT=y
    CONFIG_PCI_ENDPOINT_CONFIGFS=y
    CONFIG_PCI_EPF_TEST=y
    CONFIG_PCI_EPF_NTB=y
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    您好,香港

    似乎检测到器件、这意味着链路训练可以完成、这很好。 但是、正如您提到的、配置空间尚未配置。

    我有一个怀疑是 TDA4VE EP 正在复位。 我们在 SDK 用户指南中提到、我们在此处的 EP Foundational_Components Ie_End_Point 示例中取出了所用电缆上 Kernel_Drivers 的 RESET 信号:https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/09_00_01_03/exports/docs/linux/kernel/ocal/socality/ocalature/ocality/ocalature.html。其原因是、由于我们使用命令行手动配置 EP、因此重置 EP 将重置所有命令行配置。

    您能否看到在 Windows 尝试解码配置空间后是否可以连接到 EP、并查看 EP 设置是否仍然存在? 例如、controllers/2910000.PCIe-EP/start 是否仍然为"1"?

    此致、

    大沼市

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

    您好:

       controllers/2910000.PCIe-EP/start 仍然为"1"。

      但未配置配置空间。

    您能否看到在 Windows 尝试解码配置空间后是否可以连接到 EP、并查看 EP 设置是否仍然存在? 例如、controllers/2910000.PCIe-EP/start 是否仍然为"1"?

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

    您好,香港

    这很奇怪... 就像彻底检查一样、您是否还能检查在 Windows 解码之后 VendorID、deviceid 和 msi_interrupts/ms6_interrupts 都已配置?

    此致、

    大沼市

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

    您好:

      在 Windows 解码之后,供应商 ID、deviceid 和 msi_ interrupts/ms6_ Enterrupts 的配置均相同。

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

    您好:

       Windows 读取条形空间、发现条形空间不连续。 其他条形空间由小到大、打印出来的条形空间由大到小。对数如下所示

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

    您好,香港

    您是否有额外的 TDA4VE、TDA4VM 或 TDA4VH EVM? 作为一个实验、如果您有另一个 TI EVM、您能否在两个 TI EP 之间尝试进行 RC/EVM 演示? 我认为、第一步应该尝试在已知可正常工作的硬件设置中将 EVM 配置为 EP、以便验证初始化流程。

    TI EVM<-> TI EVM 设置应作为我们 SDK 版本的一部分进行测试、由于我更加熟悉此设置、因此我将能够对可能的错误做出一些更好的评论。 我不熟悉 Windows 如何与我们的电路板交互。

    此致、

    大沼市

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

    您好:

      读取 PCIe 配置空间并发现异常的条形空间。

      0x10[BAR0]

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

    您好,香港

    如果两个 TI EVM 实验很难完成、您能否尝试初始化多个函数? 例如、初始化6个函数、然后查看是否所有6个函数都出现在 Windows? 可能是我们没有访问在命令行中创建的函数、因此出现了异常的条形空间。

    此致、

    大沼市

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

    您好:

      初始化6个函数、Windows 下显示全部6个函数。 但酒吧空间仍然不正常。

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

    您好,香港

    我懂了。 让我看看我是否可以在 x86 PC 上重现此问题。 我希望大约一周的时间来进行初始实验并收集信息、因为这是我以前未尝试过的设置、我认为我们没有在 SDK 测试中涉及到这一点(也称为、我们仅讨论 TI EVM <-> TI EVM 测试)。

    这种设置之间的一个区别是我使用的是 Linux PC 而不是 Windows、因为由于我当前的硬件设置需要额外的时间来设置 Windows。

    此致、

    大沼市

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

    谢谢

    您是否有任何结果?

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

    您好,香港

    到目前为止、我无法在 x86 PC 上重现此问题。 我当前的设置是配置为 RC 的 x86 Ubuntu Linux PC、通过 PCIe 电缆连接到配置为 EP 的 TDA4VE。

    例如、以下是我可以从 x86 PC 上看到的内容:

    e2e.ti.com/.../lspci_5F00_output_5F00_linux_5F00_x86_5F00_to_5F00_tda4ve.txt

    从上面的日志中、TDA4VE 成功地枚举了05:00.0到05:00.5的6个函数、且带有非零 bar、所有的配置空间都可以被读取。 请注意、这是在我以超级用户身份运行 lspci -vvvvx 时发生的情况。

    但是、我遇到的一个可能与此问题相关的问题是权限。 当运行 lspci -vvvvvx 以获取上述日志时、我无法打印出有关以下内容的功能: 当我没有以 sudo (超级用户)运行命令时。 例如、运行 lspci -vvvvx 的非超级用户如下所示:

    05:00.5未分配的分类[ff00]:德州仪器器件 b00d
    控制:I/O - Mem- busmaster-SpecCycle - MemWINV- VGASnoop- ParErr- Stepping - SERR- FastB2B- DisINTx-
    状态5.2004-+ 66MHz UDF- FastB2B- ParErr- DEVSEL=FAST > TABORT-<TABORT- SERR < PERR - INTx-
    中断:引脚 A 被路由至 IRQ 255
    区域0:46ada900的存储器(32位、不可预取)[禁用][size=256]
    区域1:46ada200的存储器(32位、不可预取)[禁用][size=512]
    区域2:46ad9400处的存储器(32位、不可预取)[禁用][size=1k]
    区域3:46ad4000处的存储器(32位、不可预取)[禁用][size=16K]
    区域4:46aa0000处的存储器(32位、不可预取)[禁用][size=128K]
    区域5:46900000处的存储器(32位、不可预取)[禁用][size=1m]
    功能:
    00:4C 10 0d b0 00 10 00 00 00 00 00 ff 00 80 00
    10:00 A9 AD 46 00 A2 AD 46 00 94 AD 46 00 40 AD 46
    20: 00 00 00 aa 46 00 90 46 00 00 00 00 00 00 00 00 00
    30:00 00 00 00 00 80 00 00 00 00 00 00 00 00 ff 01 00 00

    您能否确认用于读取配置空间的用户或程序具有管理员权限?

    此致、

    大沼市

x 出现错误。请重试或与管理员联系。