您好!
配置周期从 CONTROL (RC)执行、但无法确认正常运行。
分析仪确认 AM5726 (EP)未正确响应 Config 命令的操作。
在 L0状态转换后、为了正常响应 Config 命令、AM5726是否需要设置?
或者、软件设置寄存器是否不必要、它是否只能用硬件进行响应?
此致、
新义郎
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.
尊敬的 Eric:
感谢您的快速回复。
PCIe RC 是其他公司的处理器。
操作系统使用 VxWorks、我们的客户正在基于 ti-processor-sdk-RTOS PCIe 示例程序创建驱动程序。
配置读取命令从 RC 侧发送到 EP 侧。
此时、CRS (配置请求重试状态)从 EP 端发送。
我们的客户在建立链路之前似乎没有进行以下设置。
① bar (内向和外向)设置
②设备 ID 和供应商 ID 的设置
AM5726是否需要进行上述设置才能正确接收配置读取命令?
此致、
新义郎
您好!
很抱歉耽误你的回答!
1) 1)仍然不清楚配置读取是在链路训练之前还是之后? 初始帖子显示"AM5726是否需要设置 才能在 L0状态转换后正常响应 Config 命令?"。 如果您已经达到 L0状态、AM572x PCIe 配置空间将存储器映射到 RC 侧、则可以通过寄存器读取和写入来访问它们。 为什么要读取另一个配置? 在链路到达 L0状态之前、通常 PCIe RC 会执行 Number 过程、如果您可以到达 L0 、则会涉及配置读取、这意味着此时配置读取成功。 那么 、为什么它在到达 L0后失败?
2) 2) PCIe RC 是否饱和(例如运行某些 Linux/Windows 操作系统)或根本没有枚举过程? 请参阅我们的 Processor SDK RTOS PCIe 示例、该代码不进行枚举、只需单独设置两端并开始链路训练过程。 在两种情况下、条形寄存器中的设置不同:
a:在枚举情况下、EP 侧栏寄存器仅使用条屏蔽进行编程、它指示它向 RC 请求的存储器空间数量。 RC 将所有值写入 EP 条形图、并读回器件请求的存储器大小并从系统资源中分配、然后将条形图地址写入其中。
b.在纯链路训练案例(我们的 RTOS 示例)中、由于 没有 Number 流程、因此条形图使用条形码和条形地址进行编程、以匹配 RC 和 EP。
关于 DevID 和 VENDID、复位后默认为0x8888104C。 除非要 将其更改为其他值、否则不需要再次对其进行编程。
总之、如果我假设您的用例为:1) RC 确实有编号2)配置读取是在到达 L0之前进行的。 然后、您需要在 EP 侧对条形码进行编程、但 无需 DevID/VENDID。
如果您的问题是在总线枚举期间读取配置、您可以参考 en.wikipedia.org/.../PCI_configuration_space? 或者我理解您的情况是错误的?
此致、Eric