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:OTP 访问 Fault​​

Guru**** 2454880 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550160/am6421-otp-access-fault

器件型号:AM6421


工具/软件:

​现象说明 ​

​SBL(次级引导加载程序)阶段 ​
在 SBL 阶段提供定制的 SBL 代码 ​​可以正确读取 ​​常规 OTP 区域的内容。

​应用程序(应用程序)阶段 ​
SBL 完成初始化并跳转到用户应用程序后、会尝试访问 ​​OTP 区域完全相同 ​​导致操作失败。

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

    您好:

    这是预期结果。 SBL 在自复位结束时执行安全交付、从而导致 SYSFW 放弃安全服务。 这意味着不能在应用中使用 TISCI OTP 消息。

    如果您也想在应用程序中访问扩展 OTP、则必须通过以下补丁禁用安全交付:

    diff --git a/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c b/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    index c8b8085457f..cb4ee7849c0 100644
    --- a/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    +++ b/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    @@ -1001,7 +1001,7 @@ int32_t Bootloader_socCpuResetReleaseSelf(void)
             }
             if(status==SystemP_SUCCESS)
             {
    -            status = Bootloader_socSecHandover();
    +            // status = Bootloader_socSecHandover();
             }
             if(status==SystemP_SUCCESS)
             {
    

    此致、

    Prashant

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

    您好、Prashant、

    感谢您提供安全交付补丁解决方案。 它在​​​​我们的应用中成功实现了 R5 内核上的 OTP 访问。

    问题仍然存在: ​​

    ​​​​应用补丁后、在 A53 内核上仍然无法访问扩展 OTP。

    请求: ​​

    请告知如何解决 A53 OTP 访问问题。 关键问题:

    1.需要的 A53 特定配置?
    2.已知的非 R5 内核上的 OTP 限制?


    感谢您的紧急帮助。

    BR

    Ryan

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

    您好:

    通过安全板配置来控制 OTP 访问。

    https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/sciclient/sciclient_default_boardcfg/am64x/sciclient_defaultBoardcfg_security.c#L79-L79

    可以允许多台主机进行读取访问、但只能将写入访问权限授予一台主机。 默认情况下、它仅提供给 R5FSS0-0 内核。

    如需了解更多信息、请访问:

    software-dl.ti.com/.../BOARDCFG_SEC.html

    请根据您的要求修改配置。

    此致、

    Prashant

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

    您好、Prashant、

    如下图所示、默认的 host_id 为 128、所有主机都应该能够 读取。

    但是、无法读取 A53 内核。

    您能给我提供更详细的说明吗?

    BR

    Ryan

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

    您是否在 A53 上运行 Linux 并使用 TISCI OTP 消息来读取扩展 OTP? 您还能分享 SBL 映像吗?

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

    您好、

    我在 A53 上运行 RTOS 程序、而不是 Linux。

    根据我们公司的安全策略、我无法上传 SBL 映像。

    BR

    Ryan

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

    您看到的确切问题是什么? SYSFW 是否针对 TISCI_MSG_READ_OTP_MMR 消息返回 NACK?

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

    执行 Sciclient_service 时、程序进入 HwiP_DefaultHandler()。

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

    您好:

     由于 A53 应用程序在非安全 A53 状态下运行、MCU+ SDK 中的 A53 应用程序无法向 SYSFW 请求 TISCI_MSG_READ_OTP_MMR 等安全 TISCI 消息。

    在一个安全的世界中运行的 OPTEE 可以提出这种请求。

    此致、

    Prashant

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

    您好、Prashant、

    非常感谢您的清晰解释—它完美地解决了我的问题。

    BR

    Ryan