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.

[参考译文] AM6421:关于一般 OPT 区域

Guru**** 2393725 points
Other Parts Discussed in Thread: AM6421

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1494943/am6421-about-the-general-opt-area

器件型号:AM6421

工具与软件:

尊敬的 TI 专家:

我正在使用 MCU SDK mcu_plus_sdk_am64x_10_00_00_20、尝试启用安全启动。

可在 AM6421的 OTP 中自定义使用的最大大小是多少。

我看到 OTP 侧面有386位"通用 OTP 区域"(屏幕截图如下所示)、因此最大大小为"386位"、对吧?

另一个问题是、我如何写入和读取这个"通用 OTP 区域"? SBL (R5F 上的非 RTOS 应用)可以做到这一点吗? 如何实现?

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

    您好!

    [quote userid="581907" url="~/support/processors-group/processors/f/processors-forum/1494943/am6421-about-the-general-opt-area 我看到 OTP 旁边有386位的"通用 OTP 区域"(屏幕截图如下),所以最大大小是'386位',对吗?

    正确。

    [报价 userid="581907" url="~/support/processors-group/processors/f/processors-forum/1494943/am6421-about-the-general-opt-area "]

    另一个问题是、我如何写入和读取这个"通用 OTP 区域"? SBL (R5F 上的非 RTOS 应用)可以做到这一点吗? 如何实现?

    [报价]

    请参阅以下示例:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_01_00_32/exports/docs/api_guide_am64x/EXAMPLES_EXT_OTP.html

    此致、

    Prashant

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

     Prashant、您好!

    感谢您的快速响应。

    阅读示例代码后、我还有一些问题:

    1. 如何知道相应的 mmrIdx 的扩展 OPT 区域,以及"Smpk"区域?

    2.从文档"k3安全硬件架构- spruim0b.pdf"中、我看到 SBL 可以读取内存映射寄存器以获得"TI-MPK"、"SMPK"

    2.1相应的存储器偏移如下所示、对吧?

    2.2这是(从内存堆中读取)应用程序读取客户公钥的推荐方法、以便应用程序也可以执行映像身份验证。

    2.3至于"加密密钥"、如"SMEK"、"TI-MEK"、"BMEK"、我们不能使用"内存映射寄存器"来读出值、对吗? 也无法通过"MMR"进行读取?

    2.4根据我的理解、我们还可以阅读"44237000h"以获得所有"扩展 OPT 区域"、对吗?

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

    您好!

    1) 1)请查看以下指南: https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/extended_otp.html

    2) 2)可以、可以通过 SECMGR MMR 读取公钥哈希值。

    2.1) AM64具有 DMSC-Lite 架构。 因此、正确的寄存器集是: 10.2.2.5.7 DMSC_SEC_Mgr_0寄存器

    2.2)建议请求 SYSFW 以对任何映像进行身份验证。 SYSFW 对编程的密钥执行身份验证。

    2.3)无法通过 MMR 读取加密密钥。

    2.4)仅使用以下 TISCI 消息可以使扩展 OTP 是 R/W:

    https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/extended_otp.html

    此致、

    Prashant

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

     Prashant、您好!

    感谢您的详细答复。

    [报价 userid="531297" url="~/support/processors-group/processors/f/processors-forum/1494943/am6421-about-the-general-opt-area/5744830 #5744830"]2.2)建议申请 SYSFW 对任何映像进行身份验证。 SYSFW 对编程的密钥执行身份验证。

    关于这一点:解密呢? 您是否还建议请求 SYSFW 以使用 OTP 的 SMEK 进行解密? 我们可以调用什么 API?

    在深入了解 AM64的安全解决方案之前、我计划由我们自己的 SBL 进行图像身份验证和解密、SBL 计划使用外部 OTP 区域存储我们的身份验证和密钥解密。

    但现在我想知道这种解决方案是否可行、因为外部 OPT 仅为48字节。 此外,在阅读"引导加载程序"代码后,我想解密是嵌入到.rprc 图像格式解析中,所以我认为自己的解密是不可能或很难,对吗?  

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

    您好!

    关于此事:解密怎么样? 您是否还建议请求 SYSFW 以使用 OTP 的 SMEK 进行解密? 我们可以调用什么 API?[/QUOT]

    引导加载程序驱动程序使用以下 TISCI 消息请求 SYSFW 进行身份验证:

    https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/PROC_BOOT.html#proc-boot-authenticate-image-and-configure-processor

    SYSFW 也会对映像进行身份验证和解密(如果已加密)。

    至于安全启动、它集成在 SDK 中:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_01_00_32/exports/docs/api_guide_am64x/SECURE_BOOT.html

    此致、

    Prashant