主题中讨论的其他器件:TDA4VH、TDA4VM
您好:
我可以问如何为 TDA4VE 的 PCIe EP 配置配置空间
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.
您好:
工业计算机无法获取配置空间参数。
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
您好,香港
我有两个请求:
此致、
大沼市
您好:
Windows 无法获取配置空间。
#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
# end of PCI Endpoint
#!/bin/bash
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 0x05 > functions/pci_epf_test/func1/baseclass_code
echo 0x80 > functions/pci_epf_test/func1/subclass_code
echo 2 > functions/pci_epf_test/func1/msi_interrupts
echo 8 > functions/pci_epf_test/func1/msix_interrupts
ln -s functions/pci_epf_test/func1 controllers/2910000.pcie-ep/
echo 1 > controllers/2910000.pcie-ep/start



您好,香港
似乎检测到器件、这意味着链路训练可以完成、这很好。 但是、正如您提到的、配置空间尚未配置。
我有一个怀疑是 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"?
此致、
大沼市
您好,香港
您是否有额外的 TDA4VE、TDA4VM 或 TDA4VH EVM? 作为一个实验、如果您有另一个 TI EVM、您能否在两个 TI EP 之间尝试进行 RC/EVM 演示? 我认为、第一步应该尝试在已知可正常工作的硬件设置中将 EVM 配置为 EP、以便验证初始化流程。
TI EVM<-> TI EVM 设置应作为我们 SDK 版本的一部分进行测试、由于我更加熟悉此设置、因此我将能够对可能的错误做出一些更好的评论。 我不熟悉 Windows 如何与我们的电路板交互。
此致、
大沼市
您好,香港
我懂了。 让我看看我是否可以在 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
您能否确认用于读取配置空间的用户或程序具有管理员权限?
此致、
大沼市