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.

[参考译文] PROCESSOR-SDK-AM62X:唤醒源中的低功耗模式使用和安全性

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1436789/processor-sdk-am62x-low-power-mode-use-and-security-in-wakeup-sources

器件型号:PROCESSOR-SDK-AM62X

工具与软件:

您好!

我希望能够了解有关从低功耗模式恢复过程中 SoC 安全状态的更多信息。  我在《技术参考手册》中找到了一些文档、其中显示了有关在 SoC 进入低功耗模式并解密与 SoC 被唤醒相同的内容时对 RAM 内容进行加密的详细信息。  但是、我没有看到多少有关如何确保在 SDK 中的各种示例中运行这些函数的信息。  是否有任何文档可以进一步介绍工程师必须采取哪些措施来确保建立这种安全性?

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

    韦恩、您好!

    [quote userid="596428" url="~/support/processors-group/processors/f/processors-forum/1436789/processor-sdk-am62x-low-power-mode-use-and-security-in-wakeup-sources 我已经找到技术参考手册中的文档、其中显示了有关在 SoC 进入低功耗模式并解密被唤醒的相同内容时对 RAM 内容进行加密的详细信息。

    这是在 SYSFW 中处理的、对于应用程序而言是透明的、因此在 SDK 示例中看不到相关详细信息。

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

    您是否可以提供其他资源来帮助我更好地理解 SYSFW 正在做什么来实现此目的?  具体来说、我试图跟进以了解在部分 I/O 模式下如何工作、因为 SoC 的其余部分已关闭、但 CANUART I/O 组可帮助软件区分冷启动和唤醒事件。

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

    韦恩、您好!

    我会将您的疑问发送给我们的低功耗模式专家、以征求意见。

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

    韦恩、您好!

    要从 SYSFW 开始、请参阅 TISCI 文档: https://downloads.ti.com/tisci/esd/latest/1_intro/TISCI.html

    有关 AM62x 特定的信息、请参阅 SoC 特定部分: https://downloads.ti.com/tisci/esd/latest/5_soc_doc/index.html

    有关通用的低功耗模式序列、请参阅 Foundational_Components SDK 文档:https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/Power_Management / pm_sw_arch.html

    图中的 DM R5运行 SYSFW。

    据我了解、在部分 I/O 模式下、DDR 不会处于自刷新状态、因此 TIFS 不会将其内容从 SRAM 写入 DDR。 我将在内部再次检查这一点。

    部分 I/O 模式将只保持一定数量的引脚和某些 SoC 逻辑在线、因为 PMIC 将为 CANUART 域供电。

    冷启动与部分 I/O 模式下的唤醒事件之间的唯一区别是 IO 触发此恢复序列的条件。 很可能会在 SoC (而不是部分 I/O)的复位信号后触发冷启动、并会在 IO (可能由外部模块驱动)边沿更改后唤醒。 从部分 I/O 唤醒将启动冷启动序列。


    此致、

    Anshu

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

    韦恩、您好!

    仅为了确认、TIFS 内核不会在部分 I/O 模式下将其 SRAM 写入 DDR。

    谢谢!

    Anshu

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

    Anshu、我认为混淆来自试图与《技术参考手册》中的内容相比、理解您所说的内容。  特别是在第6.2.4.5节部分 I/O 中、该段以"有关 I/O 唤醒事件的信息记录在 CANUART I/O 库的 MMR 中、并帮助软件区分冷启动和唤醒以更快地响应唤醒事件"结尾。

    当 SoC 处于断电状态时、关于未在 DDR 中存储 SRAM 以用于部分 I/O 的说法是有意义的。  但是、如果来自部分 I/O 的唤醒触发将仅处理冷启动序列、我不了解系统如何能够更快地响应唤醒事件。  这不会像两个冷启动序列一样灵敏吗?

    在 TRM 的第6.2.4.10节"通过器件管理器进行低功耗模式时序控制 "讨论了进入低功耗模式的步骤、包括 TISCI_MSG_PREPARE_SLEEP 消息。   然后查看您链接的 TISCI 文档、该消息包含 要保存的高/低地址上下文、它们似乎与在深度睡眠模式下保存的加密内容相关联。  SYSFW 是否只是在部分 I/O 低功耗模式期间设置这些值?

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

    忽略有关  TISCI_MSG_PREPARE_SLEEP 的最后一个问题。  我在 TISCI 文档中找到了我的答案、并在消息定义部分下添加了注释。 "对于部分 IO 模式进入、模式参数应等于部分 IO 低功耗模式。 在此模式下、ctx_lo 和 ctx_hi 未使用。 在 DDR 中没有"分割"的要求。

    我还没有找到一个答案,对唤醒事件的响应速度更快。

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

    韦恩、您好!

    "有关 I/O 唤醒事件的信息记录在 CANUART I/O 库的 MMR 中、并帮助软件区分冷启动和唤醒以更快地响应唤醒事件。"

    我在内部向设计团队核实这一点。 如果您在星期一之前尚未收到回复、请 ping 此主题。


    此致、

    Anshu

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

    Anshu 您好。  根据请求 ping 提醒。

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

    韦恩、您好!

    感谢您的提醒。 在内部讨论之后、冷启动和部分 I/O 模式之间并没有真正的区别、因此使用部分 I/O 模式就不会节省太多时间。 其中一个好处是、唤醒可以由 SoC IO 驱动、而不是使用应用关断或下电上电来冷启动 SoC、但这不会显著影响触发唤醒的时间。

    此致、

    Anshu