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.

[参考译文] AM62A7:HSM 护理包-无法在 AM62Ax 上运行 HSM_IPC 示例

Guru**** 2458800 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1461588/am62a7-hsm-care-package---unable-to-run-hsm_ipc-example-on-am62ax

器件型号:AM62A7

工具与软件:

尊敬的 TI 专家:

此问题对于我们的项目进度至关重要。  

我们知道、HSM 关怀包的目的是作为一个演示而非完整的 HSM 开发解决方案。 在此阶段、我们仅寻求成功完成演示的指导。

设置和所采取的步骤

  1. 我们已将 HSM Care Package MCU+SDK 补丁应用于 SDK 9.00版本。
  2. 使用HSMAppimageGen该工具生成了 HSFS 格式的 HSM 映像、并将其刷写到闪存中的正确位置。
  3. 我们正在 通过 ospi nand 引导。 在 SBL 的第2阶段、HSM 映像解析和引导的返回值全部为 SYSTEMP_SUCCESS。
  4. 我们的目标是在 HSM 和 DM 内核之间实现核间通信、如hsm_ipc示例所示。

高级服务和调试尝试

  •  在运行hsm_ipc示例时、我们会遇到主机内核挂起问题。 代码会达到显示的点 HSM 无法正常工作 (请参见下图)。

    随后、代码在此处运行:

    执行此行后、它跳转到 HwiP_data_abort_handler() 中的函数 Hwip_armv7r_handlers_freertos.c

  • 我们怀疑 HSM 可能未正确引导。
  • 我们尝试了VERBOSE在 DM 内核侧启用宏、并重定向Sciserver_printf以捕获 Sciserver 日志。 但是、启用VERBOSE会导致编译错误。

     

     

问题

  1. 我们如何有效地调试此问题、以确认 HSM 是否已正确启动?
  2. 是否已对 HSM Care Package 进行内部验证? 如果是、您能否分享经验证的设置以及hsm_ipc成功运行示例的步骤?
  3. 我们是否可以利用其他配置或调试工具来解决此问题?

此问题对我们的交付至关重要、我们感谢您的及时支持和指导。

此致、

Yang

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

    您好 Yang

    我们支持 HSM Care 软件包的能力有限。 此封装的分发和范围有限。 此时此刻,我不确定我们是否能够提供您正在寻找的所有指导。 将与团队讨论、了解我们还可以做些什么来帮助您。  

    此致

    Mukul  

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

    尊敬的 Mukul:

    感谢您的答复。

    我们正在为我们的客户开发 HSM。 这已成为我们的一个关键问题。 鉴于 HSM 开发在其项目中的重要性、客户非常关注该问题的及时解决。

    如果您可以加快与您的团队进行任何讨论、并为我们提供有助于我们向前推进的指导或任何可用资源、我们将不胜感激。 更新团队的调查结果或任何潜在的解决方案将非常有用。

    期待您的及时响应。

    此致、

    Yang

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

    您好 Yang

    感谢您提供更多的背景知识。 为此、我们需要向开发人员团队寻求帮助、但他们目前不能处理此问题。 他们将能够查看下周晚些时候、就演示/示例无法按预期工作的原因提供哪些额外指导。  

    请务必确保您已在 EVM 上尝试过该操作、不仅在定制板等上尝试过、只是为了尽量减少任何差异。  

    此致

    Mukul  

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

    尊敬的 Mukul:

    感谢您发送编修。

    到目前为止、演示仅在 AM62A SKEVM 上进行了尝试。

    将在下周等待开发团队的指导。 如有必要、请随时通过电子邮件(yangzijiang@uni-sentry.com)与我们联系。

    此致、

    Yang

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

    您好!

    在发布之前、我们实际上对 HSM 演示进行了内部验证。 软件包中的映像文件(Sample_R5_log_AM62Ax.png)显示成功的 HSM IPC 引导日志。

    您是否正确遵循了文件(build.txt)中提到的用于构建 HSM 代码的指令? 然后在将默认二进制文件替换为生成的二进制文件后生成 HSM Appimage:

    此致、

    Prashant

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

    Prashant、您好!

    以下是我遵循的步骤:

    1.我已经按照build.txt文件中的说明操作、但在应用 MCU SDK 补丁时遇到了一个小问题、表明没有有效的补丁。 我通过手动应用补丁解决了这个问题。

    2.手动添加 xdctools_3_51_03_28_coreti-cgt-arm_18.12.3.LTS以匹配生成路径、并能够成功 生成 HSM Care 软件包、生成 hsm_care_package.binhsm_care_package.elf

    3.成功构建 HSM Care 软件包后,我将hsm_care_package.bin文件放入mcu_plus_sdk_am62ax_09_00_00_19\tools\boot\HSMAppimageGen\board\am62ax-sk,更新中的文件名,config.mak并将其编译在HSMAppimageGen文件夹中。 这会生成该hsm_care_package.appimage.hs_fs文件。

    4.然后,我0x240000default_sbl_ospi_nand_hs_fs.cfg,和 SBL 的第2阶段,App_loadImages函数正确地解析并加载 HSM 映像,返回值为SystemP_SUCCESS.

    5.但是、当运行该hsm_ipc示例时、程序会挂起并进入中止中断、如该线程的顶部所示。

    6.我发现,如果我在 运行 hsm_ipc 示例时将线程 ID 更改为1 ,程序运行时不输入 abort 处理程序,尽管正如预期的那样,消息可能没有到达目标。

    您能否帮助我们解决写入操作在 start_addr 上立即执行(如上所示)程序硬中止的问题?

    期待您的指导。

    此致、
    Yang

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

    尊敬的 Yang:

    所有这些步骤都很好、但您尚未提到将默认 TIFS 二进制文件替换为 HSM 包(tifs_drop/am62a_)中可用的二进制文件的步骤 )。

    如果您确实错过了此步骤、请这样做、并告诉我问题是否仍然存在。

    此致、

    Prashant

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

    您好 Prashant:

    有关 将默认 TIFS 二进制文件替换为中的二进制文件tifsdrop的步骤。 我无法在文档中找到这些默认二进制文件或任何指令。

    这就是为什么我没有采取这一步骤的原因。

    您能否指定默认 TIFS 二进制文件的位置以及如何将其替换为tifs_drop版本的确切步骤?

    此致、

    Yang

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

    尊敬的 Yang:

    MCU+ SDK 中的默认 TIFS 二进制文件位于以下路径:$MCU_SDK_PATH/SOURCE/DRIVERS/sciclient/TIFS/am62ax/ soc

    假设您使用的是 HSSE 器件(预计用于 HSM 开发)、则应按如下所示替换默认的 TIFS 二进制文件:

    ❯ cp $HSM_DEMO_PATH/tifs_drop/am62ax_hs/DMSC_I-ENC_ti-fs-firmware-am62ax-hs.bin $MCU_PLUS_SDK_PATH/source/drivers/sciclient/soc/am62ax/sysfw-hs-enc.bin
    ❯ cp $HSM_DEMO_PATH/tifs_drop/am62ax_hs/DMSC_I_CERT_ti-fs-firmware-am62ax-hs.bin $MCU_PLUS_SDK_PATH/source/drivers/sciclient/soc/am62ax/sysfw-hs-enc-cert.bin

    此致、

    Prashant

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

    Prashant、您好!

    是否不应该hsm_ipc使用 HS-EVM FS 映像运行演示? 我看到 HSM 应用映像工具会生成 HS-HS 映像 FS、并且器件当前仍处于 FS 状态。

    替换默认的 TIFS 二进制文件后、是否需要进一步操作(例如重新编译库)? 更换后、TIFS 到底是如何集成到器件中的?

    此致!
    Yang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否预计不会hsm_ipc使用 FS 映像运行演示? 我看到 HSM 应用映像工具会生成 HS-Hs FS 映像、并且器件当前仍处于 HS-Hs FS 状态。[/QUOT]

    您可以在 HSFS 器件上引导 HSM 内核、但无法连接其并通过调试器进行调试。

    如果您在 devconfig/devconfig.mak 文件中将 DEVICE_TYPE 设置为 HS、则构建操作会生成 HSSE 图像。

    替换默认 TIFS 二进制文件后、是否需要进一步操作(例如重新编译库)?

    您需要重新构建 SBL stage1映像。

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

    Prashant、您好!

    在您的支持下、我成功hsm_ipc运行了演示、除 TRNG 之外的所有测试都通过了测试。 我看到了注释"对于 AM62A 器件、MCU SDK 版本 v9.0未启用 TRNG 支持。" 是否有任何方法可以启用 TRNG 支持?

    此外、我们还将介绍 TIFS 如何集成到器件中。 我们知道 ROM 处理 TIFS 启动过程、但您能说明文件级集成步骤吗? 目前、启用 HSM 似乎取决于此 TIFS 更换版本、我们需要此信息来指导客户如何将其集成到其环境中。 例如、SBL stage1项目和 TIFS 映像文件之间有何关系?

    此致、
    Yang

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

    您好!

    TRNG 测试在 HSM_IPC 示例补丁中处于以下条件下。  因此、AM62A 器件不支持或未对其进行验证。

    +#ifndef SOC_AM62AX
    +    if(*SA2UL_STATUS & TRNG_TEST_STATUS){
    +        DebugP_log("TRNG tests pass\n");
    +    }
    +    else{
    +        DebugP_log("TRNG tests fail\n");
    +    }
    +#endif

    请参阅 TRM 中的"5.7.5扩展引导信息扩展"部分。 它说明了 ROM 需要的映像格式、这需要将 SBL stage1二进制文件和 TIFS 二进制文件打包在一起。

    此致、

    Prashant

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

    您好 Prashant:

    感谢您的指导。

    然而、对 TRNG 的要求对于我们客户的项目开发至关重要。 根据 AM62A 器件对 TRNG 的广播支持来选择该器件。 您能否提供更具体的官方文档或说明 AM62A 平台是否支持 TRNG? 这些信息对于我们正在进行的项目至关重要。

    此致、

    Yang

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

    您好!

    TRNG 模块所有权由 OPTEE 获取。 因此、团队没有验证 AM62A 中的 TRNG 支持。

    github.com/.../sa2ul.c

    此致、

    Prashant

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

    您好、Prashant

     HSM 上的 TRNG 功能是客户要求的一部分。 如果客户使用 OPTEE、他们是否也可以在 HSM 侧使用 TRNG?

    此致、

    Yang