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.

[参考译文] AM625:如果在 AM625 HS FS 芯片上使用 SysConfig 工具、未将 OSPI 输入时钟频率和分频器设置为166MHz 和2、即使对于 MCU+ SDK AM62x 版本10.01.00.33、也无法对从 NORFLASH 加载的引导映像进行身份验证

Guru**** 2456170 points
Other Parts Discussed in Thread: SYSCONFIG, SK-AM62-LP, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456707/am625-unable-to-authenticate-boot-image-loaded-from-norflash-even-with-mcu-sdk-am62x-version-10-01-00-33-when-not-setting-ospi-input-clock-frequency-and-divider-as-166mhz-and-2-using-sysconfig-tool-on-am625-hs-fs-chip

器件型号:AM625
主题中讨论的其他器件:SysConfigSK-AM62-LPUNIFLASH

工具与软件:

您好!

当我为 AM62x 使用较旧版本的 MCU+ SDK (例如10.00.00.14)时、无法使用 NOR 闪存从 SBL NULL 引导映像。 引导加载程序抱怨"无法验证映像"。 但是、将 SDK 升级到最新版本(10.01.00.33)后、我设法启动映像并从 CCS 加载 M4应用程序。 我注意到它仍然产生一个警告,说:"身份验证失败,在移动中复制,读取映像到 DDR。"

当我将 OSPI 的输入时钟分频器更改为大于2的值时、SBL NULL 仍然拒绝引导、除了上述警告消息之外、还显示相同的"Failed to Authenticate Image"错误。 将"Input Clock Frequency"和"Divider"设置为低于166MHz /2时会发生相同的问题、例如20MHz /2、166MHz /4、166MHz /32等 尽管如此、我通过在执行实际引导加载程序操作之前向 SBL NULL 添加读取/写入/擦除测试代码、验证了 NOR 闪存读取/写入操作对所有这些设置正常工作。

调试 SBL NULL 代码TISCI_MSG_FLAG_ACKTISCI_MSG_PROC_AUTH_BOOTSciclient_service后、我发现在使用较低 OSPI 输入时钟速度时、在将映像复制到 DDR 后使用进行调用时、返回 NO。 但是TISCI_MSG_FLAG_ACK、当使用166MHz / 2设置时会设置。 此问题是否与 SYSFW 有关?

当在 NOR 闪存上使用较低时钟速度时、请帮助我成功验证和加载映像。 谢谢!

BR、

紫健 Xu。

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

    您好!

    我已将该主题分配给相关专家、请在下周之前收到回复。

    此致、
    Aparna

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

    当应用映像失败使用 SYSFW 进行身份验证时、会发生这种情况。

    执行此操作的 API 为:

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

    1. 它是定制 EVM/板吗? 如果是、您是否更新了 DDR 配置文件?
    2. 您使用的 NOR 闪存部件是否与 TI AM62x EVM 上的相同?
    3. 您能否转到 SysConfig 并检查 PHY 是否已启用? 另外请注意操作模式、我假设是8D-8D-8D?

    期待您的答复。

    此致、

    Vaibhav

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

    您好!

    对您的问题的回答:

    1.是的,这是一个定制的电路板。 但是、我们使用的 DDR 与 EVM (SK-AM62-LP)相同、因此 DDR 配置文件保持默认值、并且我确信 DDR 能够正常工作、我已经在 DDR 上运行了 M4F 应用程序的测试。

    2. NOR 闪存并不相同、Ours 是 Micron 的 MT25QL01GBBB8E12-0SIT。 SysConfig 工具中的当前配置与默认配置不同、如下所示:

    闪存类型:串行 NOR 闪存
    协议:1S-1S-1S
    以字节为单位的闪存大小:134217728
    闪存页大小(以字节为单位):256
    闪存 JEDEC 制造商 ID:0x20
    闪存 JEDEC 器件 ID:0xBA21
    闪存块大小(以字节为单位):65536
    以字节为单位的闪存扇区大小:4096
    块擦除 CMD (3B):0xD8
    块擦除 CMD (4B):0xDC
    扇区擦除 CMD (3B):0x20
    扇区擦除 CMD (4B):0x21
    读取命令:0x13
    写/页编程命令:0x12
    芯片擦除命令:0xc4
    启用4字节寻址:真

    3. PHY 未启用、因为我们的物理板中没有该 PHY。 运行模式为1S-1S-1S、如上所示。

    此外、我们 仅 在 OSPI 中启用了4个引脚、如下所示:

    OSPI CLK 引脚(OSPI0_CLK):OSPI0_CLK/G19、无拉取、Rx 启用
    OSPI CS0引脚(OSPI_CSn0):OSPI0_CSn0/F19、无拉取、Rx 禁用
    OSPI 数据 I/O 引脚0 (OSPI0_D0):OSPI0_D0/F18、无拉取、Rx 启用
    OSPI 数据 I/O 引脚1 (OSPI0_D1):OSPI0_D1/G17、无拉取、Rx 启用

    此外、我已经 大致 检查了 0x84000000到 0x8400012C 的内存内容对于 CCS/2和更低时钟设置情况下的相同情况、即在执行166MHz 复制后执行真正的身份验证操作(Bootloader_socAuthImage ()、ddrCopy 变量的值为1)之前。 我是否可以假设 NOR 闪存可以将映像复制到 DDR、而仅 SYSFW 无法正常工作、或者数据可能在其他地方损坏?

    BR、

    紫健 Xu

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

    您好!

    您能否继续分享您上传的闪存器件 json 文件? 或者、仅 ospi and flash 选项卡的 SysConfig 设置对我也有用。

    然后、我可以继续并分享需要完成的必要更改。

    此致、

    Vaibhav

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

    您好!

    将我的所有 SBL 相关项目上传到您的位置、请尝试  OSPI 输入时钟速度和分频器设置的不同慢速组合。 我尚未使用任何其他闪存配置 json 文件、因为您可以签入下面的项目。 请使用 UART 引导模式和 μ`uart_uniflash.py`和此配置、然后切换到 OSPI NOR 闪存引导模式以启动您的电路板:

    --flash-writer=sbl_prebuilt/am62x-sk-lp/sbl_uart_uniflash_stage1.release.hs_fs.tiimage 
    --file=/path/to/sbl_uart_uniflash_stage2_am62x-sk-lp_r5fss0-0_nortos_ti-arm-clang-xzj/Debug/sbl_uart_uniflash_stage2_am62x-sk-lp_r5fss0-0_nortos_ti-arm-clang-xzj.appimage.hs_fs --operation=flash --flash-offset=0x0
    --file=/path/to/sbl_null_am62x-sk-lp_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_null.Debug.hs_fs.tiimage --operation=flash --flash-offset=0x0
    -文件=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk-lp/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0xA00000
     

    e2e.ti.com/.../sbl_5F00_uart_5F00_uniflash_5F00_stage2_5F00_am62x_2D00_sk_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang_2D00_xzj.zip

    e2e.ti.com/.../sbl_5F00_null_5F00_am62x_2D00_sk_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zip

    BR、

    紫健 Xu。

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

    您好!

    [报价 userid="633274" url="~/support/processors-group/processors/f/processors-forum/1456707/am625-unable-to-authenticate-boot-image-loaded-from-norflash-even-with-mcu-sdk-am62x-version-10-01-00-33-when-not-setting-ospi-input-clock-frequency-and-divider-as-166mhz-and-2-using-sysconfig-tool-on-am625-hs-fs-chip/5601338 #5601338"]sbl_uart_uniflash_stage2_am62x-sk-lp_r5fss0-0_nortos_ti-arm-clang-xzj.zip

    显示此附件无效。

    我们可以快速完成一件事情、我们可以运行基本的1至1秒测试以查看闪存配置是否正常工作吗?

    请继续、将闪存设置为在1 - 1 - 1模式下运行。

    让我知道同样的结果。

    此致、

    Vaibhav

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

    您好!

    我再次上传了无效文件、请重试... 我已经在 OSPI 输入时钟和分频器设置的不同组合中测试了1-1-1S 擦除/写入/读取166MHz、例如 OSPI /2、OSPI /32等、所以可以这样做(由于测试整个128MB NOR 闪存的时间太长、因此我只运行测试代码大约1小时)、您还可以在上传的项目中找到166MHz 闪存测试代码(相关代码已被注释掉)。

    对于1-1s-1s 模式、OSPI 速度越低、身份验证就会失败、只有 OSPI/2 166MHz 通过。 但是、我需要的是以较低的速度在1-1s 模式下进行身份验证。

    e2e.ti.com/.../0820.sbl_5F00_uart_5F00_uniflash_5F00_stage2_5F00_am62x_2D00_sk_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang_2D00_xzj.zip

    BR、

    紫健 Xu。

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

    尊敬的 Zijian:

    主题专家目前不在办公室。 请期待延迟回复。

    此致、

    Tushar

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

    您好!

    对于1-1s-1s 模式、如果 OSPI 速度较低、则身份验证将失败、仅通过166MHz /2。 但我需要的是以较低的速度在1-1s-1s 模式下进行身份验证。

    如果身份验证失败、引导加载程序驱动程序会将映像复制到 DDR 中并从此处进行身份验证、大多数情况下应该会通过、从而在最后成功启动

    是否会观察到同样的行为?

    此致、

    Prashant

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

    Prashant、您好!

    我观察到同样的行为:身份验证之后、在身份验证之前复制到 DDR 的映像内容仍然没有变化。 请注意、对于 SDK 版本 10.01.00.33、对于所有 OSPI 时钟/分频器情况、所有图像内容都将复制到 DDR、因此都会产生相同的警告、就像我在原始问题中提到的那样:

    Unknown 说:
    我注意到它仍然会产生一条警告:"无法在移动中进行身份验证和复制、正在将映像读取到 DDR。"

    对于 166MHz 版本10.01.00.33:只有 正确进行了身份验证和解密、SDK/2与其他组合之间的区别才会存在。 所有图像都首先复制到 DDR。

    对于 SDK 版本 10.00.00.14:没有复制映像(正如我在 SDK 源代码中找到的那样)、身份验证将直接失败。

    BR、

    紫健 Xu

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

    尊敬的 Zijian:

    对于 166MHz 版本10.01.00.33:SDK/2与其他组合之间的区别仅在于它们经过 正确身份验证和解密。 所有图像都将首先复制到 DDR。[/QUOT]

    那么您可以继续使用此 SDK 版本。

    为了直接从闪存进行身份验证、预期闪存会以可能的最高模式运行。

    此致、

    Prashant

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

    Prashant、您好!

    在移动过程中未能进行身份验证和复制、无法将映像读取到 DDR。"

    我仍然不明白 DDR 身份验证失败的原因、即使是内容已成功从闪存完全复制、也是为了实现较低闪存速度配置。  DDR 上的内容与较低闪存速度之间有何关系?

    BR、

    Zijian Xu。

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

    您好!

    请注意对于 SDK 版本 10.01.00.33、对于所有 OSPI 时钟/分频器情形、所有图像内容都将复制到 DDR、

    这是不正确的。 映像首先直接从闪存进行身份验证。 仅当失败时、引导加载程序驱动程序会将映像复制到 DDR、并尝试从此处进行身份验证。

    因此、以下日志表示:

    在移动过程中验证并复制映像失败、正在读取映像到 DDR。"

    直接来自闪存的身份验证失败、因此映像被复制到 DDR。 如果通过了身份验证、则将引导映像、否则会发生引导失败。

    如果闪存未在可能的最高模式下初始化、则来自闪存的直接身份验证可能会失败、因为它在较低速模式下可能无法提供足够的读取吞吐量。  

    此致、

    Prashant

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

     Prashant、您好!  

    如果未以尽可能高的模式初始化闪存、则闪存的直接身份验证可能会失败、因为它可能无法在较低速度的模式下提供足够的读取吞吐量。  [报价]

    这是否意味着闪存的低速模式可能会导致进行 SYSFW 身份验证的超时?

    BR、

    Zijian Xu

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

    您好!

    这是否意味着闪存的低速模式可能会导致执行 SYSFW 身份验证的超时?

    正确。 即使 SDK 中的闪存驱动器可能能够在低速模式下正确对闪存进行读/写、由于吞吐量较低、TIFS 仍可能无法直接从闪存验证映像。

    TIFS 已将此要求从 v11放宽、因此您可以尝试一次最新的 TIFS 二进制文件:

    https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?id=c4c02adc7068e241f71f3a844e5c8572c4981145

    此致、

    Prashant

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

    您好!

    [报价 userid="531297" url="~/support/processors-group/processors/f/processors-forum/1456707/am625-unable-to-authenticate-boot-image-loaded-from-norflash-even-with-mcu-sdk-am62x-version-10-01-00-33-when-not-setting-ospi-input-clock-frequency-and-divider-as-166mhz-and-2-using-sysconfig-tool-on-am625-hs-fs-chip/5698345 #5698345"]

    TIFS 已将此要求从 v11放宽、因此您可以尝试一次最新的 TIFS 二进制文件:

    https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?id=c4c02adc7068e241f71f3a844e5c8572c4981145

    [报价]

    我将稍后尝试验证它是否起作用。 谢谢!

    BR、

    Zijian Xu