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.

[参考译文] AM2632:我们可以在使用 HSM 时缩短系统启动时间吗

Guru**** 2966500 points

Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1646630/am2632-can-we-reduce-system-startup-time-when-using-hsm

器件型号: AM2632
Thread 中讨论的其他器件: SYSCONFIG、 UNIFLASH

为了缩短使用 HSM 时的系统启动时间、我们是否可以禁用 SBL 代码中的 HSMRT 和 APP 映像验证步骤?  22.png

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

    您好、

    您使用的是 FS 还是 HS-SE 器件?

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

    我们使用的 是 HS-SE 器件、但没有项目上的安全启动要求。  

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

    您无法禁用 HSMRT 验证、因为这是由 ROM 完成的。

    如果不使用 M4 内核、则不能加载 HSMRT。

    您可以禁用应用程序映像的验证。 如果您使用 Bootloader_parseAndLoadMultiCoreELF 加载映像、则必须将以下结构成员.isAppimageSigned 修改为 False 以不对映像进行身份验证。

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

    谢谢你。

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

    您好 、Nikhil、

    如何将“isAppimageSigned“更改为“false“? 我似乎在 SysConfig 中未找到它。

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

    尊敬的 Wang:

    这是 SysConfig 中当前的一个硬编码字段、因此您必须在进入解析函数之前在引导加载程序中修改该字段。

    我已经提出了这个请求。 在内部使该字段可针对未来版本进行修改。

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、

    感谢您的反馈。

    您能告诉我们这个未来版本何时推出吗?

    我们的项目要求工具支持此修改。

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

    您好、  

    下一个版本将于 8 月底发布。  

    同时、您可以在 syscfg 源代码中执行以下更改、以使用该工具禁用

    diff --git a/source/sysconfig/drivers/.meta/bootloader/templates/bootloader_config.c.xdt b/source/sysconfig/drivers/.meta/bootloader/templates/bootloader_config.c.xdt
    index ded2fb9c..f801fb59 100644
    --- a/source/sysconfig/drivers/.meta/bootloader/templates/bootloader_config.c.xdt
    +++ b/source/sysconfig/drivers/.meta/bootloader/templates/bootloader_config.c.xdt
    @@ -143,7 +143,7 @@ Bootloader_Config gBootloaderConfig[CONFIG_BOOTLOADER_NUM_INSTANCES] =
             .disableAppImageAuth = `instance.disableAppImageAuth.toString(10).toUpperCase()`,
             .initICSSCores = `instance.initICSSCores.toString(10).toUpperCase()`,
         % } else {
    -        .isAppimageSigned = TRUE,
    +        .isAppimageSigned = `instance.isAppimageSigned.toString(10).toUpperCase()`,
             .disableAppImageAuth = FALSE,
             .initICSSCores = FALSE,
         % }
    diff --git a/source/sysconfig/drivers/.meta/bootloader/v0/bootloader_v0.syscfg.js b/source/sysconfig/drivers/.meta/bootloader/v0/bootloader_v0.syscfg.js
    index 5914e554..5c0ee714 100644
    --- a/source/sysconfig/drivers/.meta/bootloader/v0/bootloader_v0.syscfg.js
    +++ b/source/sysconfig/drivers/.meta/bootloader/v0/bootloader_v0.syscfg.js
    @@ -179,6 +179,16 @@ function getConfig(){
                 }
             );
         }
    +    if(["am263x", "am263px", "am261x"].includes(common.getSocName())) {
    +        cfg.push(
    +            {
    +                name: "isAppimageSigned",
    +                displayName: "Application Image Is X509 Signed",
    +                description: "SBL expects a signed image (appimage with x509 certificate concatenated) if this option is enabled, disable this if you are trying to boot an unsigned image",
    +                default: true,
    +            }
    +        );
    +    }
         if(["am243x", "am64x"].includes(common.getSocName())) {
             cfg.push(
                 {

    进行此更改后无需重建任何内容。 您应该在 syscfg 的“bootloader“选项卡中看到该复选框。

    谢谢。此致、

    Nikhil Dasan

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

    您好、Nikhil、

    感谢您的反馈。

    器件切换到 SE 模式后、如何使用 UniFlash 工具执行 SNOR 刷写或应用调试?

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

    您好、

    解锁 JTAG 后(可能使用通过 UART 启用了调试打开标志的已签名 SBL_null)、可以正常执行刷写和调试(类似于 HS_FS 器件)。

    解锁 JTAG 后、您可以将调试打开的 SBL 刷写到闪存中、这样您就无需在每次下电上电时手动打开 JTAG。

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、
    谢谢您的答复、我得到了您的意见。

    我为什么要问上述问题? 我们正在考虑从 HS_FS 转换到 HS_SE 的工作流程、以及如何在 SOP 阶段 (SBL+APP) 刷写生产十六进制文件。

    如您所知、在生产期间通过 UART 引导模式下载 Keywriter SBL 需要很长时间。 因此、我们计划使用 QSPI 模式下载 Keywriter SBL 以触发器件进入 SE 模式。
    但是、在将器件切换到 HS_SE 模式后、我们如何将 Keywriter SBL 重新刷回到正常运行的 SBL?

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

    你好、Nikhil、
    谢谢您的答复、我得到了您的意见。

    我为什么要问上述问题? 我们正在考虑从 HS_FS 转换到 HS_SE 的工作流程、以及如何在 SOP 阶段 (SBL+APP) 刷写生产十六进制文件。

    如您所知、在生产期间通过 UART 引导模式下载 Keywriter SBL 需要很长时间。 因此、我们计划使用 QSPI 模式下载 Keywriter SBL 以触发器件进入 SE 模式。
    但是、在将器件切换到 HS_SE 模式后、我们如何将 Keywriter SBL 重新刷回到正常运行的 SBL?

    =========================================================================================================================================== >
    你好、Nikhil、

    您能帮助回答以上问题吗?

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

    尊敬的 Chun:

    是的、在本例中、一种选择是将 HS-SE SBL 放置在冗余引导位置(具有调试启用功能)。 将 SBL OTP KW 刷写到主位置并 将 HS-SE SBL 刷写到冗余引导位置、以便当器件为 HS-SBL 时、会执行 FS OTP KW、当它进入 HS-SE 时、从位置 HS-SE SBL 作为主位置具有 HS-SBL FS 固件时、会执行该次位置。

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、
    谢谢你。

    您能否分享有关此流程的详细步骤或链接?
    我认为从“HS-ROM→引导 FS OTP KW→HS-SE→引导 HS-SE SBL“转换的过程是由 BootROM 自动处理的、这是正确的吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为从“HS-SBL→引导 FS OTP KW→HS-SE→引导 HS-SE SBL“转换的过程由 BootROM 自动处理、是这样吗?

    正确。 您只需将二进制文件放置在相应的位置。

    我创建了一个流程图供您参考。

    有关冗余引导的更多信息、请参阅 TRM 中的 5.5 冗余引导支持一章  

    AM263x SitaraTm 微控制器技术参考手册(修订版 I)

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、
    感谢您的反馈、我们将尝试一下。

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

    没问题

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

    你好、Nikhi、

    我认为“擦除主引导区域“步骤是在 OTP Keywriter SBL 中执行的、对吗?
    我们目前正在使用 otp_keywriter_am263x_SR_11_10_01_00_00、该版本似乎不包括主引导区域擦除功能。
    您能否提供有关如何添加“擦除主引导区域“功能的更多详细信息?

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

    是、不包括擦除器件。 这可以集成在您的端、也可以稍后使用 uniflash 来刷写更新后的 HS-SE 二进制文件、因为您已经在冗余位置中有 JTAG 解锁 HS-SE 二进制文件。 因此、即使在转换后、每次重新启动时、JTAG 也会因此解锁。

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、

    我们倾向于将擦除函数集成到 OTP Keywriter SBL 中、但在基于 OTP_keywriter_am263x_SR_11_10_01_00_00 在 SysConfig 中添加擦除功能时、会遇到编译问题。
    您是否知道如何解决此问题?


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

    您好、

    您是否将 OTP KW 软件包复制到最新的 MCU_PLUS_SDK 文件夹中?

    即、请按如下所示复制 sbl_keywriter。

    如果您已经完成了此操作、则请参考您所使用的 SDK 的“hello world“示例来修改 example.syscfg 文件 (--product)。

    谢谢。此致、

    Nikhil Dasan

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

    你好、Nikhil、
    我们能够将 sbl_keywriter 工程导入 SysConfig。 但是、编辑闪存模块时出现问题。 有没有办法解决这个问题?


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

    Nikhil Dasan 

    您好、Nikhil、

    您能帮助回答这个问题吗?

    CC Sahana H G  

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

    您好、

    我能够在 SDK 10.1 和 OTP KW 10.1 环境中配置闪存。 请问、当您看到问题时、您所使用的环境是什么?