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.

[参考译文] AM62P:睡眠模式控制

Guru**** 2951100 points

Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1653499/am62p-sleep-mode-control

部件号: AM62P

尊敬的 TI 专家:

在“spruj83c.pdf“的 TRM 中、在公共 ROM 章节中、它提到:

image.png

正如我们所知、am62px SoC 系列中的“M4“、它是 SMS 子系统 (TIFS/HSM) 的一部分、在启动期间、它将运行安全 ROM、但为什么它会使公共 ROM 进入睡眠状态? 这似乎是负责 R5F_DM 的吗? 对于唤醒序列、它还提到 DM 先于其他 DM 被激活:

image.png

我的问题是:  

这是什么“M4“的意思? 在公共 ROM“主模块“期间、如果未接收到引导映像、则 M4 (DM 或 M4F_core0) 将向公共 ROM 发送信号“睡眠“以进入睡眠状态?

提前感谢

 

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

    您好、Tim、

    您不使用 TRM 文档的最新版本。 您可以从此处下载最新版本(修订版 D):
    https://www.ti.com/product/AM62P

    正如我们所知、am62px SoC 系列中的“M4“、它是 SMS 子系统 (TIFS/HSM) 的一部分、在启动期间、它将运行安全 ROM、但为什么它会使公共 ROM 进入睡眠状态? 它似乎负责 R5F_DM?

    M4 内核是上电时从公共 ROM 执行的第一个也是唯一的内核。 R5F_DM 在这方面不起作用、只有在 ROM 被 TIFS 关断后才会接管。 由于 M4 是安全启动机构(运行 TIFS/HSM 固件)、因此需要由逻辑实体来决定何时不再需要 ROM 并应关闭 ROM。 以下是一些原因:

    • 安全隔离 — 安全启动后,ROM 必须从非安全主器件(R5F、A53 等)中隐藏。 将其置于睡眠状态可防止任何恶意内核读取 ROM 内容。
    • 引导顺序强制 — 在验证和隐藏 ROM 之前、非安全端 (R5F_DM、A53) 绝不能运行。 M4/TIFS 强制执行此顺序。

    您可以在 AM62P TRM 的第 5 节中看到引导过程流程。 初始化、第 5.2 点。 引导过程、第 5.2.3 点。 引导处理流程。

    这是什么意思? 在公共 ROM“主模块“期间、如果未接收到引导映像、则 M4 (DM 或 M4F_core0) 将向公共 ROM 发送信号“睡眠“以进入睡眠状态?

    在 AM62Px 架构中、“M4“是指 M4F_core0、它是 SMS(安全管理子系统)的一部分。 具体而言、它是运行 TIFS(TI 基础安全)/HSM 固件的内核。 M4F_core0 (TIFS/HSM) 负责向公共 ROM 发出睡眠请求。 R5F_DM 在该睡眠信号中不起作用。

    此致、

    Borislav Lazarkov

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

    谢谢你这么快的答复。

    这句话的含义是什么? 这是否意味着公共 ROM 将在 M4F_core0 上运行?  

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

    您好、Tim、

    当 AM62Px 上电时、除 M4F 外、所有内核都处于复位状态。 M4F 唤醒、读取并执行公共 ROM 代码、执行硬件初始化和安全验证、仅在复位后释放其他内核 (R5F_DM、A53)。 任何其他内核都不会直接从公共 ROM 运行。

    最棒的酒店

    Borislav Lazarkov

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

    尊敬的 Borislav:  

    因此、公共 ROM 将是第一个执行代码、并将在 M4F core0 上执行。

    那么安全 ROM 呢? 这是否意味着、如果公共 ROM 需要安全 ROM 进行身份验证、公共 ROM 将请求 M4F core0 来读取和执行安全 ROM、而安全 ROM 也可以在 M4F core0 上运行?

    哪个 ROM 将加载其他映像?  (例如 TIFS、R5F_SBL...)、 公共 ROM 还是安全 ROM?

    此致。

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

    您好、Tim、

    M4F 唤醒、读取并执行公共 ROM 代码、执行硬件初始化和安全验证、并且仅在复位后释放其他内核 (R5F_DM、A53)。

    我只是把它们列出来,没有顺序。  我为错误道歉。

    [引述 userid=“680150“ url=“~/support/processors-group/processors/f/processors-forum/1653499/am62p-sleep-mode-control

    对于唤醒序列、它还提到 DM 先于其他 DM 被激活:

    image.png

    [/报价]

    摘录自 AM62Px TRM 的第 6.2.4.11 节 “使用设备管理器进行低功耗模式时序控制 “、其中涵盖从深度睡眠唤醒的内容、而不是冷启动序列。

    [引述 userid=“680150“ url=“~/support/processors-group/processors/f/processors-forum/1653499/am62p-sleep-mode-control/6376670

    因此、公共 ROM 将是第一个执行代码、并将在 M4F core0 上执行。

    那么安全 ROM 呢? 这是否意味着、如果公共 ROM 需要安全 ROM 进行身份验证、公共 ROM 将请求 M4F core0 来读取和执行安全 ROM、而安全 ROM 也可以在 M4F core0 上运行?

    哪个 ROM 将加载其他映像?  (例如 TIFS、R5F_SBL...)、 公共 ROM 还是安全 ROM?

    [/报价]

    如图所示、 M4 ROM 首先执行、 而不是 R5(公共 ROM)。  在黄色框的图中、R5(公共 ROM) 处理引导映像加载。  R5(公共 ROM) 加载映像。  R5 请求 M4 进行映像完整性检查 —M4 执行身份验证。 M4 响应通过/失败、如果失败、则会重试或中止。

    此致、

    Borislav Lazarkov

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

    对不起,对我有点困惑:

    1. M4 ROM(我想这是安全 ROM,对吧?) 将执行第 1 次。

    2.您提到了 r5(公共 ROM)、您是指公共 ROM 将在 R5F core0 上执行吗? 如果是、似乎与您之前的描述相冲突:

    3、您说过 R5(公共 ROM)将处理引导映像加载、并请求 M4 进行映像完整性检查、但在 TRM 的第 5.2.2 章中:

    它提到 M4 ROM(安全 ROM)将处理 M4 映像(我想这是 TIFS 固件)加载。 这是我的错。 其他 TI 专家告诉我、5.2.2 章节是正确的、上面对“R5 ROM“加载 TIFS 的描述不正确、他说、将采用新流程:

    请帮助您仔细检查。

    非常感谢!

    谨致问候!

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

    您好、Tim、

    您提到了 R5(公共 ROM)、您是指公共 ROM 将在 R5F core0 上执行吗? 如果是、似乎与您之前的描述相冲突:

    M4F_core0 会唤醒并执行 M4 ROM(安全 ROM)。  仅当 M4 ROM 从复位中释放 R5 后、公共 ROM 才会在 R5F_core0 上运行。

    您说过 R5(公共 ROM)将处理引导映像加载、并请求 M4 进行映像完整性检查、但在 TRM 的第 5.2.2 章中:

    查看 TRM 第 5.2.2 节以及看门狗计时器注释后、正确的图片实际上比我之前的响应和图 5-3 说明建议的图片更加细微:

    更正了引导映像加载流程:

    • M4 ROM 首先在 M4F_core0 上执行 — 设置看门狗计时器(RTI0、3 分钟)、配置 PLL、防火墙、安全代理、 SA2UL、并从复位中释放 R5
    • R5 公共 ROM 第二次在 R5F_core0 上执行—处理引导介质检测并加载 SBL/SPL、所有这些都在 3 分钟的看门狗窗口内完成
    • 加载 SBL 后、M4 ROM 会再重新启动看门狗 3 分钟
    • 然后、客户提供的 R5 SBL 负责将 TIFS/SYSFW 加载并安装到 M4 中

    当第 5.2.2 节提到“M4 固件加载“时、这是指 M4 ROM 设置的安全基础设施(SA2UL、SHA512 完整性检查、X509 证书解析,安全代理)以促进和验证 SYSFW 加载、而不是直接传输 SYSFW 映像本身。

    R5(通过公共 ROM、然后是 SBL)负责实际的映像加载、而 M4 ROM 负责围绕整个过程提供安全框架和看门狗监控。 Hong Guan64 关于组合引导流程的注释与此保持一致、组合的二进制 blob (SBL + SYSFW) 是 R5 SBL 在新流程中处理的内容。

    我为先前的不准确而道歉!

    此致、

    Borislav Lazarkov

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

    感谢您的详细说明。

    实际上、M4(安全 ROM)将首先运行以对引导映像 (tiboot3.bin、-- TIFS + R5F_SBL_stage1....) 进行身份验证、如果传递、则 R5F 公共 ROM 将处理以将映像加载到相关内核 (TIFS -->M4F_core0、R5F_SBL_stage1--->R5F_core0) 中、我是否正确?

    我还问了另一个主题:

    AM62P:SBL stage1 的引导加载程序运行 — 处理器论坛-处理器 — TI E2E 支持论坛

    专家 (Prashant Shivhare) 还告诉我、安全 ROM 将加载 TIFS + R5F_SBL_stage1 映像。

    我...  

    B.R.

    再次感谢

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

    您好、Tim、

    让我问 Prashant 这个问题。

    请给我一些时间。 感谢您的耐心!

    此致、

    Borislav Lazarkov

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

    您好、Tim、

    您的陈述部分正确、但有一些不准确之处。

    正确答案:

    • M4 ROM 首先执行
    • M4 ROM 处理身份验证(SA2UL、SHA512、X509 证书解析)
    • TIFS 最终在 M4F_core0 上运行
    • R5F SBL 最终在 R5F_core0 上运行

    错误信息:

    • 身份验证时序
      • 在 R5 加载映像之前、M4 ROM 不会进行身份验证。 流程如下:
        • R5 公共 ROM 首先从引导介质加载映像 (tiboot3.bin)
        • 然后请求 M4 ROM 通过 SA2UL/SHA512 对其进行身份验证
        • 身份验证是一个协作步骤、而不是 R5 甚至启动之前的先决条件
    • “R5F 公共 ROM 将映像加载到相关内核中“。 这也不是很正确。
      • R5 公共 ROM 仅加载 SBL/SPL
      • 正是 R5 SBL(客户映像)将 TIFS/SYSFW 加载并安装到 M4F_core0 中
      • R5 公共 ROM 本身不会直接将 TIFS 加载到 M4 中

    总之、R5 公共 ROM 从引导介质加载 tiboot3.bin、然后通过 SA2UL/SHA512 请求 M4 ROM 进行身份验证。 如果身份验证通过、R5 公共 ROM 会在 R5F_core0 上引导 SBL/SPL。 然后、R5 SBL 负责将 TIFS/SYSFW 加载并安装到 M4F_core0 中。

    此致、

    Borislav Lazarkov

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

    您好 Borislav  

    谢谢你如此 耐心地纠正我!

    我还有一个问题:如果 SoC 从深度睡眠状态唤醒、那么冷启动的引导序列是否相同?

    例如加载和验证映像? 在 TRM 中、睡眠和唤醒序列似乎没有提及这一点。

    B.R.

    Tim

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

    您好、Tim Wang、

    Borislav 目前不在办公室、将在下周中旬后使用。

      AM62P TRM 的器件管理器中的低功耗模式时序一节提供了从深度睡眠序列唤醒的分步说明、如下所示:

      下图描述了 TRM 的低功耗模式复位处理、深度睡眠+唤醒和恢复序列:

    可以看出、涉及主域复位置为有效和置为无效。  

    AM62Px TRM/一章、初始化/一节、引导过程流程 指定:

    但我怀疑在复位时、 R5/M4 执行向量可能定向到 AM62P 公共 ROM 代码/M4 ROM 、具体取决于 AM62Px 处理器系统之前的电源状态。 从深度睡眠唤醒可能由 M4F TIFS/SYSFW 代码+ SBL 在上电引导周期中已加载的 R5F DM 代码处理。 根据我的理解、该过程可以 在深度睡眠期间将片上 RAM 存储器代码/数据传输到外部 LPDDR、并在唤醒后将其恢复到片上 SRAM。

    请允许我花一些时间与我们的 AM62P ROM 和安全专家讨论 从深度睡眠唤醒期间发生的映像加载/身份验证/完整性检查和解密例程。 我将尝试在下周初回复。

    感谢您的耐心!

    此致、

    Anastas Yordanov

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

    你好 Anastas Yordanov

    非常感谢、等待您的结果。

    此致、

    Tim。

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

    您好:

    根据公共 ROM 主循环说明:

    在什么时候或者什么情况下、M4 会指示公共 ROM 进入睡眠状态?

    谢谢

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

    您好、Tim、

    在什么情况下、M4 将指示公共 ROM 进入休眠状态?

    我 只能假设、这会发生在 引导过程 流程图的其中一个突出显示的块中:

    我已联系我们的 AM62P ROM 专家以了解更多详细信息、我正在等待他的答复。

    感谢您的耐心!

    此致、

    Anastas Yordanov

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

    您好、

    在什么情况下、M4 将指示公共 ROM 进入休眠状态?

    这似乎指的是 Anastas 突出显示的第 1 个块、其中在主引导模式和备份引导模式下都找不到有效映像。

    此致、

    会面。

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

    谢谢、

    因此、“ 此循环“这句话会重复、直到  M4 接收到启动映像或将其引导至睡眠状态。  “可以理解为:

    1.公共 ROM 主循环将从外部加载引导映像文件 (tiboot3.bin)、并请求 M4 安全 ROM 对其进行身份验证。 如果完整性检查正常、主循环将继续处理启动序列;很明显。

    2.如果完整性检查失败,将重试,同时 M4 将处理 180s 看门狗,如果 看门狗超时,则 M4 将指示 R5 公共 ROM 中止启动序列,进入睡眠状态。

    3.如果触发了新的 R5 复位(由谁触发?)、则会重新启动启动序列。

    我的回答正确吗?  

    如果是、在 R5 睡眠状态期间、M4(安全 ROM)运行会怎样? 它将等待 R5 复位? 不是吗?

    谢谢

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

    您好、Tim、

    2. 如果完整性检查失败、将重试、同时 M4 将处理 180s 看门狗、如果 看门狗超时、则 M4 将指示 R5 公共 ROM 中止启动序列、并进入睡眠状态。

    看门狗超时不会导致软“睡眠“、而会导致 R5 子系统的硬件复位。 该复位由硬件驱动(看门狗硬件自动将 R5 复位线路置为有效)、M4 无需执行软件操作即可触发该复位线路。 因此“进入睡眠状态“并不是很正确、更准确地说、这是一个强制 R5 复位、将 R5 置于其初始公共 ROM 状态。 然后、重试循环在复位后自动重新启动。

     

    [引述 userid=“680150“ url=“~/support/processors-group/processors/f/processors-forum/1653499/am62p-sleep-mode-control/6389877。]3. 如果触发了新的 R5 复位(由谁触发?)、则将重新启动启动序列。

    M4 内核会触发 R5 复位、特别是通过写入控制 R5 复位线路的系统控制器复位寄存器来。 这在两种情况下发生:

    • 身份验证成功。 M4 使 R5 RESET 无效以让 R5 继续。
    • 看门狗超时。 硬件强制 R5 复位。 然后 M4 重新释放 R5 以重试。

    如果是、在 R5 睡眠状态期间、M4(安全 ROM)操作会怎么样? 它将等待 R5 复位? o 什么?

    M4 保持有效、不会睡眠。 当 R5 处于睡眠/复位状态时、M4 忙于执行:

    • 运行看门狗计时器 — 监控 180s 倒计时。
    • 执行身份验证 — 通过 SA2UL/SHA512 验证 tiboot3.bin 签名。
    • 控制 R5 复位线路 — 将 R5 保持在复位状态或根据授权结果释放它。
    • 可短暂进入 WFI — 任务之间的低功耗空闲状态,但保持活动状态并做出响应。

    此致、

    Borislav Lazarkov