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.

[参考译文] TMS320C6678:通过来自外部主机 PCIe RC 的 PCIe 重置 C6678

Guru**** 2589175 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/637879/tms320c6678-reset-the-c6678-via-pcie-from-external-host-pcie-rc

器件型号:TMS320C6678

您好!

我们一直在查看 e2e 上的答案、例如下面的答案、并正在寻找确认是否可以在不执行 POR 的情况下重置 C6678。 我们正在寻找一 种经实践检验的机制、通过 PCIe 从外部 PCIe RC 主机进行重置。

热启动期间、复位 来自平台复位、通过执行 Windows 10重新启动、整个平台的电源保持开启状态。 Windows 10将执行 PCIe 总线复位、这会导致典型的 PCIe 卡执行其自身的复位操作、并进入与 冷复位相同的一致状态。 遗憾的是、C6678目前不以任何方式响应 PCIe 总线复位。 因此、在重新启动 Windows 10并重新加载 C6678 Windows 驱动程序时、它会发现 C6678处于未知状态。  

 

 在这种情况下、我们需要将 C6678置于一致的状态、这将通过 PCIe 对其执行复位操作。 这是 Windows 10驱动程序与外围设备通信的常见做法。  我们 所了解的是一种通过 PCIe 重置 C6678的100%可靠方法。 如果可能、请告知如何完成。

请注意、以下是当前的冷启动流程:

在冷启动期间、复位 来自断电状态、Windows 10启动并枚举 PCIe 总线。 届时 C6678完成其自身的 POR 复位并运行其引导 ROM 代码、从而支持 PCIe (因此 Windows 可以将 C6678视为 PCIe 类型器件)。 然后、用于 C6678的 Windows 10设备驱动程序将设置入站和出站转换、并使用通过 PCIe 访问其寄存器来配置 C6678。 然后、驱动程序将初始化 C6678 PLL、MSMC、DDR 并对 IBL 进行编程、指示 C6678跳转到 IBL、然后对应用程序进行编程、并指示 C6678跳转到应用程序以开始执行它。 最后、用于 C6678的 Windows 10驱动程序将会声明它已准备就绪。  

以上序列运行良好。


您能否评论一下如何通过 PCIe 总线复位实现可靠的复位?

谢谢、

-Gunter

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

    我已通知软件团队。 您能否分享您正在使用的 SDK 版本?

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

    此设置有一些问题:您是否使用 TI 6678 EVM、您是否使用 AMC PCIe 适配卡将 TI EVM 放入 Windows PC? 如果是、冷启动应该100%可靠地工作。

    有关热启动、请参阅之前的 E2E 讨论:"TMDXEVM667X EVM 实际上是与 MicroTCA/AMC 兼容的卡。 此外形不使用 PCIe PE_RST 线路、因此 MicroTCA/AMC 和 PCIe 之间不存在无源适配器。 因此、在设计生产 PCIe 卡时、建议将 PCIe 连接器上的 PE_RST 线路连接到某些逻辑、这些逻辑可以对器件上的 POR 和 RESETFULL 线路进行排序。" 因此、如果修改适配器、热启动应具有与冷启动相同的效果。

    此致、Eric