2395039_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2395039_zh-CN

2395039_zh-CN

无法更新 i.MX95 FlexSPI 启动映像的 APP 容器软件版本

各位专家好,

我正在使用 i.MX95 平台,并启用ROLLBACK_INDEX_IN_CONTAINER 的回滚保护功能

我在local.conf文件中引入了以下变量

export ROLLBACK_INDEX_IN_CONTAINER = "1"

该值会在整个构建过程中传递,构建日志证实mkimage_imx8被调用时使用了“1”。

构建eMMC 启动映像时,解析生成的镜像显示容器软件版本已正确更新。

 if [ 1 ]; then \
./../mkimage_imx8 -soc IMX9 -cntr_version 2 -sw_version 1 -c \
-ap bl31.bin a55 0x8A200000 \
-ap u-boot-hash.bin a55 0x90200000 \
-ap tee.bin a55 0x8C000000 \
-out u-boot-atf-container.img; \

 

然而,在构建FlexSPI 启动镜像 imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi )时,解析该镜像仍然报告默认的软件版本。

./mkimage_imx8 -soc IMX9 -parse imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi
SOC: IMX9
Input container binary to be parsed: imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi

*********************************
*				*
*          APP CONTAINER 1          *
*				*
*********************************

        Length: 0X320 (800)
           Tag: 0X87
       Version: 0X2
         Flags: 0X10
    Num images: 6
  Fuse version: 0
    SW version: 0X0
Sig blk offset: 0X310

我在 iMX95/soc.mak 中注意到一个有趣的地方,因为在构建 flash_a55_flexspi 时没有包含 sw_version。

flash_a55_flexspi: $(MKIMG) $(AHAB_IMG) $(MCU_IMG) $(SPL_A55_IMG) $(OEI_IMG_M33) fcb.bin u-boot-atf-container.img
        ./$(MKIMG) -soc IMX9 -cntr_version $(CTNR_VERSION) $(XSPI_FAST_HASH) -dev flexspi -append $(AHAB_IMG) -c $(OEI_OPT_M33) -msel $(MSEL) \
                   -m33 $(MCU_IMG) 0 $(MCU_TCM_ADDR) \
                   -ap $(SPL_A55_IMG) a55 $(SPL_LOAD_ADDR_M33_VIEW) $(V2X_DUMMY) -fcb fcb.bin $(FCB_LOAD_ADDR) -out flash.bin
        $(call append_container,u-boot-atf-container.img,1)
        $(call append_fcb)

我的问题是:

  1. ROLLBACK_INDEX_IN_CONTAINER是否预期会更新 FlexSPI 启动映像的软件版本?
  2. FlexSPI 镜像是否遵循不同的容器生成流程,需要单独配置回滚索引/软件版本?
  3. 这是 i.MX95 imx-mkimage版本流程中已知的限制或问题吗

如果有人已成功在 i.MX95 上为 FlexSPI 启动映像启用ROLLBACK_INDEX_IN_CONTAINER ,能否分享一下预期流程或所需的任何其他配置?

提前感谢!

顺祝商祺!

阿伦·库马尔

Re: Unable to update APP container software version for i.MX95 FlexSPI boot image

你好@arun16598

FlexSPI 镜像不是 AHAB 格式的另一种变体,而是采用了一种组合过程,即先生成引导容器,然后附加 U-Boot/ATF 容器。您的-sw_version 1已在u-boot-atf-container.img上设置;但是,包含 SM/M33、OEI、SPL 和 FCB 的 APP 容器( flash_a55_flexspi首先创建)没有传递-sw_version选项,因此该容器仍然显示SW 版本:0。ROLLBACK_INDEX_IN_CONTAINER用于生成辅助 U-Boot/ATF APP 容器,但它没有传递给flash_a55_flexspi创建的主 APP 容器。如果第一个 FlexSPI APP 容器需要相同的软件版本,则还必须将-sw_version $(ROLLBACK_INDEX_IN_CONTAINER)添加到flash_a55_flexspi中的 mkimage_imx8 调用中。

如果目标是真正实现 AHAB 防回滚强制执行,则需要验证和配置的关键设置是fuse_version-fuse_version ,而不仅仅是sw_version 。S PSDK 的 i.MX95 防回滚示例明确指出,OEM 防回滚使用 AHAB 容器 YAML 中指定的fuse_version ,然后通过 ELE 的OEM_FW_FUSE提交过程提交该版本。

此致,
志明

标记 (1)
无评分
版本历史
最后更新:
‎07-21-2026 02:36 AM
更新人: