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.

[FAQ] [参考译文] [FAQ] AM2634: MCU-PLUS-SDK-AM263X:如何理解/优化 RBL/SBL 的引导时间?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1222158/faq-am2634-mcu-plus-sdk-am263x-how-to-understand-optimize-the-boot-time-of-rbl-sbl

器件型号:AM2634

我已  08.03/08.04移动至08.05、并且引导时间已延长。 如何优化相同的?

与 HS-FS 器件相比、HS-SE 器件的引导时间非常长。 如何优化相同的?

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

    此常见问题解答只涉及示例中包含的开箱即用更改。 如果用户使用的 SBL 是自定义 SBL、则确定与 SDK 中提供的 SBL 有何差异。
    如果您的查询更多地关注导致此问题的 SDK 中的更改、则此常见问题解答将回答其中的一些查询。

    汽车应用中应用引导的顶视图

    问:是否强制在 HS-FS 器件中加载 HSMRt 固件?

    要检查器件是 HS-FS 还是 HS-SE 器件、请参阅此链接- https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1170785/faq-mcu-plus-sdk-am243x-how-to-identify-if-the-device-is-gp-device-or-hs-device

    如果器件是 HS-FS 器件、则加载 HSMRt 固件(TIF-MCU 固件)  可选 。 您可以选择对其进行编程  跳过  如果您的应用不需要使用 HSMRt 服务或默认情况下关闭的加密硬件加速器、则情况相同。

    特性 SBL 大小 HSM 运行时间大小 应用大小 结束-结束引导时间(HS-FS) 引导时间中断
    RBL 引导时间(HS-FS) SBL 初始化时间(HS-FS) HSMRt 加载时间(HS-FS)   SBL 加载后时间(HS-FS)
    加载了 HSMRt 固件的 SBL 183 KB 32 KB

    24 KB

    205.547ms

    52.765ms

    1.292ms

    139.763ms

    9.98ms

    SBL、没有加载 HSMRt 固件 48KB 32 KB 24 KB

    50.066ms

    39.540毫秒

    1.914ms

    -- 9.5ms

    注意  : 使用8.06 SDK 和 AM263 PG 1.1捕获的数据

    TI 建议始终在器件中保留 HSMRt、因为这将在 用户 从 HS-FS 器件迁移到 HS-SE 器件后减少增量、因为 HSMRt 固件(TIF-MCU 固件)对于 HS-SE 器件是强制性的。

    问:是否有办法在不删除 HSMRt 固件的情况下缩短启动时间,使其成为 HS-FS 器件和 HS-SE 器件的统一解决方案?

    为了详细说明这一点、我们将优化器件启动的不同部分:

    • RBL 引导时间
    • HSM 运行时加载时间
    • SBL 执行时间

    1.优化 RBL 引导时间

    除了减小 SBL 的大小之外、无法优化 RBL 的引导时间。

    可以。 目前、SBL 已构建为包含此类 TIF-MCU 固件(图像适用于 AM263x)--

    这会使 ROM 引导加载程序验证更大的 SBL 映像(由于采用了 HSMRt 映像)。 当时、ROM 已完成 HSMRt 映像验证  Bootloader_socLoadHsmRtFw  因此、通过 SBL 映像验证 HSM 运行时固件是现场器件的过度使用。

    SDK 在 SBL 中提供合并的映像以支持不同类型的 SBL、如 SBL_QSPI、SBL_UART、SBL_CAN、SBL_SD 等 这使得设计和到3P HSM 堆栈的迁移更简单。

    以优化相同特性-

    1. 从 SBL_QSPI 示例中解耦 HSM 运行时间图像。
    2. 将 HSM 运行时间独立刷写到闪存中。  
    3. 使用 EDMA 将映像从闪存复制到 RAM、RAM 是一个暂存区存储器(HSM ROM 不会从闪存读取、而仅将 RAM 存储器视为有效的存储器范围)。
    4. 向 HSM ROM 发送 IPC 请求、以加载 HSM 运行时固件。
    5. 加载 HSM 运行时固件后、SBL 可以收回暂存区存储器以加载应用。

    这将减少 RBL 初始化固件启动时间所需的时间。

    2.通过将 SBL 频率切换为最大值来优化 SBL 运行时间。

    默认情况下、SBL 以较低的频率运行、这会影响性能。 因此、一旦用户 PLL 初始化完成、用户可以将正在执行 SBL 的 R50_0 CPU 移动到400MHz。

    3.实现应用程序 CPU 负载和 HSM 运行时加载和执行的并行化

    更改 HSM 运行时加载的配置、确保其中许多内容是并行的。

    这是一个补丁文件、涉及上述所有更改。 用户可以自由地进行更有效的更改以获得更短的引导时间。

    /cfs-file/__key/communityserver-discussions-components-files/908/boot_5F00_time_5F00_1.diff

    注意事项

    SBL 每次所花费的时间细分及其更改

    特性 SBL 大小 HSM 运行时间大小 应用大小 结束-结束引导时间(HS-FS) 引导时间中断
    RBL 引导时间(HS-FS) SBL 初始化时间(HS-FS) HSMRt 将闪存复制到 RAM HSMRt 加载时间(HS-FS) SBL 加载后时间(HS-FS)
    包含 HSMRt 固件的 SBL (默认开箱即用) 183 KB 32 KB

    24 KB

    205.547ms

    52.765ms

    1.292ms

    --

    139.763ms

    9.98ms

    SBL 未包含 HSMRt 固件 49 KB 32 KB 24 KB

    202.361ms

    39.516ms

    1.887ms

    12.081ms

    139.453ms

    9.416毫秒

    最高时钟(400MHz)上未包含 HSMRt 固件的 SBL 49 KB 32 KB

    24 KB

    47.533ms

    32.289ms

    0.1ms

    2.287ms

    7.978ms

    4.879ms

    未在最高时钟(400MHz)上集成 HSMRt 固件的 SBL 和启用 HSM 的并行应用 49 KB 32 KB 24 KB

    43.402ms

    33.034ms

    0.1ms

    2.287ms

    3.147ms

    4.834ms

    注意  使用8.06 SDK 和 AM263 PG 1.1捕获的数据

    这些数字是来自 SDK 所提供示例的引导时数字。 这些数据并不是这些器件能够提供的优化或最佳数据。