Other Parts Discussed in Thread: TDA2SX
您好!
通过阅读 TDA2XX 技术参考手册、我了解到 PCIe 控制器实例化了2个子系统、这些子系统可以在以下用例中运行:
1)只有子系统1在 x1模式下工作
2)仅子系统2在 x1模式下工作
3)子系统1和子系统2同时在 x1模式下工作
4)子系统1在 x2模式下工作、而子系统2无法使用
我正在处理 processor_sdk_vision_03_02_00_00、并已成功尝试用例1和4。 但是、我现在尝试变体2和3。 当我对 PCIe 子系统进行编程时、我参考包含典型编程序列的表、这些序列可在 TDA2XX 的技术参考手册中找到。 该测试使用 PDK 中的 PCIe 示例完成。
首先、我将仅在 x1模式下使用子系统2。 时钟和 PHY 的初始化正确通过、但在选择 PCIe 的类型时、子系统将是(RC 或 EP)执行挂起。 重要的是、这是首次对 SS2进行编程、对 SS1没有这些问题。
因此,我有几个问题:
1) 1)我使用的 SoC 是 TDA2SX、而我参考的文档是 TDA2XX 的。 这两者是否相同、我能否假设 SoC 中确实有两个 PCIe 子系统?
2) 2)如果有2个 PCIe 子系统、为什么在选择 RC/EP 模式期间执行挂起? 我模仿了 SS1测试中存在的代码、但也遵循了 TRM (即 PCIe_app.c)中的编程序列表。 在测试的 RC 和 EP 部分、我将"SS1"的每个周期替换为"SS2"(当然代码会编译和构建、我能够运行)。
提前感谢您。
此致、
Nick