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.

[参考译文] AM261-OSPI_EVM:SOM 和应用(安全引导)AM261-AM261-LP 上的 CAN't boot up

Guru**** 2805935 points

Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1604104/am261-som-evm-ospi-and-application-secure-boot-can-t-boot-up-on-am261x-lp

器件型号: AM261-EVM-EVM SOM
Thread 中讨论的其他器件: UNIFLASH

TI 论坛、您好!

我正在研究 AM261x-LP、具体侧重于安全启动。 为此、我已经下载了 TI FS SDK。

以下是到目前为止我所遵循的步骤:

  1. 生成的 smpk.pemsmek.key 使用 OpenSSL。
  2. 生成 X.509 证书。
  3. 将器件状态从 HS-TCA FS 最终目的 HS-SE
  4. 已签名 sbl_uart_uniflashsbl_ospiHello _world 然后通过 UART 引导模式刷写它们。
  5. 切换到 OSPI 引导模式时、在串行控制台上看不到任何内容。

您能否帮助我了解 OSPI 引导未显示任何输出的可能原因?

我期待着你的指导和支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更改了中的器件状态 HS-TCA FS 最终目的 HS-SE.

    此过渡是否成功?

    您可以使用以下命令验证相同的内容:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/latest/exports/docs/api_guide_am261x/TOOLS_BOOT.html#SOC_ID_PARSER

    您能否共享 SOC ID 解析器的日志?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已签名 sbl_uart_uniflashsbl_ospiHello _world 应用程序、然后通过 UART 引导模式刷写它们。

    我知道我又问这个问题、您是否重新编译 HSM 固件?

    在 TIFS SDK 安装路径中、还使用用户指南中提到的以下命令重建 HSSE 器件的 HSMRT 固件:

    gmake -s -C HSM_firmware/am261x/HSSE/hsm0-0_nortos/ti-arm-clang 所有器件= am261x device_type=HS

    然后重新构建所有 sbls、使 sbls acn 包含更新的 HSM 固件、然后尝试刷写并运行示例。

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

    你好 Nilabh

    感谢您的答复。

    我已经遵循 OTP_Keywriter 指南中提到的所有步骤。 我将器件设置为 UART 模式并记录了日志、然后使用对其进行解析 uart_boot_socid.py。 器件被确认处于 HS-SE 模式;这是证明。

    接下来、我使用以下命令行构建 TIFS_SDK HSMRT 固件:
    gmake -s -C hsm_firmware/am261x/hsse/hsm0-0_nortos/ti-arm-clang all DEVICE=am261x DEVICE_TYPE=HS
    请注意、我更新了中私钥的路径 devconfig.mak 添加到工程。

    构建后、hsmRtImg.h文件在以下位置生成:

    security/security_common/drivers/hsmclient/soc/am261x/hsmRtImg.h
    此文件已在 main.c 的中链接 sbl_ospi_am261x-lp

    然后、使用.cfg文件中的以下命令、将 SBL 和应用程序文件发送到 AM261x-LP。 之后、我将 LP 置于 OSPI 引导模式。 但是、我在串行控制台上仍然看不到任何内容。

    #首先指向 sbl_uart_uniflash 二进制文件,它作为一个服务器来刷写一个或多个文件
    -- flash-writer=C:/yyyy/xxx/workspace_ccstheia/sbl_uart_uniflash_am261x-lp_r5fss0-0_nortos_ti-arm-clang/sbl_uart_uniflash.Release.hs.tiimage

    #对 OSPI PHY 调优攻击向量进行编程
    --操作=flash-phy-tuning-data

    #发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
    --file=C:/yyyy/xxx/workspace_ccstheia/sbl_ospi_am261x-lp_r5fss0-0_nortos_ti-arm-clang/sbl_ospi.Release.hs.tiimage --operation=flashverify --flash-offset=0x0

    #发送应用程序映像时,请确保闪存偏移为 0x81000(默认值)或引导加载程序配置的任何偏移
    --file=C:/yyyy/xxx/workspace_ccstheia/hello_world_am261x-lp_r5fss0-0_freertos_ti-arm-clang/Release/hello_world.Release.appimage.hs --operation=flash-sector-write --flash-offset=0x81000

    您能帮助我了解导致这种情况的原因吗? 请提供任何指示。

    再次感谢!

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

    该文件中数组的大小是多少?

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

    #define HSMRT_IMG_SIZE_IN_BYTES (26387U)

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

    因此、这意味着更新的 HSMRT 映像未在 MCU Plus SDK 中更新、是 TIFS SDK 内 Imports.mak 文件中正确设置的 MCU Plus SDK 的路径

    HSSE HSMRT 图像的数组大小 更高。

    您还可以在以下位置手动将头文件从 TIFS SDK 复制到 MCU PLSU SDK

    [引述 userid=“674339" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1604104/am261-som-evm-ospi-and-application-secure-boot-can-t-boot-up-on-am261x-lp/6185249
    构建后、hsmRtImg.h文件在以下位置生成:

    security/security_common/drivers/hsmclient/soc/am261x/hsmRtImg.h
    此文件已在 main.c 的中链接 sbl_ospi_am261x-lp

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

    你好、Nilabh、

    我已经使用私钥(而不是 TI 虚拟密钥)构建了固件。 因此、数组的大小增加了:

    #define HSMRT_IMG_SIZE_IN_BYTESS (69297U)

    此外、该 hsmRtImg.h 文件始终在以下位置生成:

    HSMRT_IMG=$(MCU_PLUS_SDK_PATH)/source/security/security_common/drivers/hsmclient soc /am261x/hsmRtImg.h

    因为中提到了该路径:

    C:\ti\tifs_am261x_10_02_00_01\HSM_firmware\am261x\HSSE\hsm0-0_nortos\ti-arm-clang\makefile

    此相同的路径包含在 main.csbl_ospi_am261x-lp 示例文件中、如下所示:


    #include /* hsmRt bin 头文件*/

    尽管如此、在切换到 OSPI 引导模式后、我仍然在串行控制台上看不到任何内容。

    您还能查看我的.cfg文件类型并帮助我识别任何问题吗?

    #首先指向 sbl_uart_uniflash 二进制文件,它作为一个服务器来刷写一个或多个文件
    -- flash-writer=C:/yyyy/xxx/workspace_ccstheia/sbl_uart_uniflash_am261x-lp_r5fss0-0_nortos_ti-arm-clang/sbl_uart_uniflash.Release.hs.tiimage

    #对 OSPI PHY 调优攻击向量进行编程
    --操作=flash-phy-tuning-data

    #发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
    --file=C:/yyyy/xxx/workspace_ccstheia/sbl_ospi_am261x-lp_r5fss0-0_nortos_ti-arm-clang/sbl_ospi.Release.hs.tiimage --operation=flashverify --flash-offset=0x0

    #发送应用程序映像时,请确保闪存偏移为 0x81000(默认值)或引导加载程序配置的任何偏移
    --file=C:/yyyy/xxx/workspace_ccstheia/hello_world_am261x-lp_r5fss0-0_freertos_ti-arm-clang/Release/hello_world.Release.appimage.hs --operation=flash-sector-write --flash-offset=0x81000

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我切换到 OSPI 引导模式时、我在串行控制台上看不到任何内容。

    您能否分享引导销位置?

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

    在刷写期间 (UART): BOOTMODE [ 1:4 ](SW4)= 0111
    在引导 (OSPI) 期间: BOOTMODE [1:4 ](SW4)= 1100

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

    您能参考一下吗? 此外、您还能够在 HSFS 板中以 OSPI 引导模式引导(转换前)

    您使用的是哪个 SDK 版本?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参考这篇文章。 此外、您是否能够在 HSFS 板中以 OSPI 引导模式引导(转换前)

    是的。 我能够在转换前引导。 我刚刚尝试了其他 OSPI 引导模式 (ospi-ospi (4s)、ospi-ospi (1s)、ospi (8s))、但我只能在下面的日志中看到。


    您使用的是哪个 SDK 版本?

    IND_COMMS_SDK_am261x_10_02_00_17 -> MCU_PLUS_SDK (AM261x MCU+ SDK  10.02.00)

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

    我们可以在明天调用 Parag 来进一步进行调试。 请给我发送一封 e2e 私人邮件,您可以 在那里分享您的电子邮件 ID

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

    您好、Anand、

    感谢您的支持。 我总结了我们的通话内容、包括以下几点、这对 TI 论坛非常有用:

    1. 而不是使用 hello_world.Release.appimage.hs、请始终使用 hello_world.release.mcelf.hs 文件类型。

    2. 同样、对于 SBL、请使用 sbl_ospi_multiple_elf.release.hs.tiimage 而不是 sbl_ospi.Release.hs.tiimage

    3. 使用配置 mcelf_sbl_ospi.cfg 而不是 default_sbl_ospi.cfg

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

    当然、Parag、现在关闭该主题。