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.

[参考译文] 66AK2G02:PCIe 引导和固件更新方法、无需重新引导

Guru**** 2589300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/587506/66ak2g02-pcie-boot-and-method-of-firmware-update-without-reboot

器件型号:66AK2G02

您好!

我对66AK2G02有疑问。

我们的客户计划将66AK2G02用作 PCIe 根复合体。
他们对 PCIe 引导以及通过 PCIe 更新66AK2G02固件的方式有疑问。

问题1.
在其系统中、66AK2G02始终需要是 PCIe 根复合体。
如果他们希望通过 PCIe 引导来引导66AK2G02、66AK2G02是否可用于从外部 PCIe 端点获取引导映像?
或者在 PCIe 引导模式下、66AK2G02始终充当 PCIe 端点
那么、外部 PCIe 根复合体是否需要根据66AK2G02加载引导映像?

问题2.
在66AK2G02运行其应用程序期间、系统需要更新66AK2G02的固件而无需重新引导。
是否有任何方法可以在不重新引导的情况下更新固件?

如果这是不可能的、例如、它们应该使用 NOR 闪存引导
并使用 PCIe 更新 NOR 闪存(存储旧固件)中的固件?
因此、新固件将在重新启动时加载。

此致、
G.F.

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

    我已将其转发给引导专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 K2G02上、引导代码仅在 PCIe 作为端点运行、而不是 PCIe 根复合体引导测试用例时运行。 但是、客户可以使用次级引导加载程序(用户级自定义引导加载程序)从外部 PCIe 端点获取应用程序映像。

    在此引导过程中、器件将从 SPI/NAND 等主引导介质引导一个小映像、然后将器件配置为 PCIe 根复合体、并在建立链路后从 PCIe 根复合体获取应用引导映像。

    更新固件的过程不需要重新启动。 此过程仅要求 SOC 通过以太网、PCIe 或其他外设接口从外部源获取映像、然后运行刷写功能、将新的固件映像写入闪存介质。 我们支持在 Processor SDK Linux 中的 K2G EVM 上重新刷写 u-boot 固件、在此可以使用 tftp 通过以太网获取映像、然后刷写到引导介质中。 固件更新后、硬件的后续启动将使用新固件。

    是的、他们可以使用 NOR 闪存并通过使用 PCIe 使用辅助引导加载程序(如 u-boot)获取映像来更新 NOR 闪存中的固件。

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

    感谢你的答复。

    我了解到66AK2G02 PCIe 将在 PCIe 引导时为端点模式。
    谢谢你。

    关于更新固件、客户希望在应用程序运行时更新固件。
    该新固件需要在不进行后续引导的情况下运行。
    因为一旦他们的电路板开始运行、它就永远不会断电。
    是否有任何方法可以在没有 subsequnet 引导的情况下运行新固件?

    如果无法实现、他们将考虑使用后续启动来运行新固件。

    此致、
    G.F.