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。
您好,香港
您能尝试一下我上一篇文章中的1吗?
此外、对于2、你能否获得与 Windows 等效的 lspci? 我假设有一种方法可以查看 Windows 是否已完成链路训练、以便查看 PCIe 设备是否以特定 PCIe 生成速度进行链路、以及检测到多少个通道等等。
此致、
大沼市
您好:
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"?
此致、
大沼市
您好:
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
您能否确认用于读取配置空间的用户或程序具有管理员权限?
此致、
大沼市