2175216_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2175216_zh-CN

2175216_zh-CN

RW612 ROM 引导加载程序卡在 ISP 模式,无法从外部闪存加载 MCUBoot

问题描述
我在使用恩智浦 RW612 时遇到了一个持续的问题,即无论使用哪种二进制结构或配置,ROM 引导加载程序总是进入 ISP 模式,而不是从外部闪存启动。

症状

  • 一致的 ISP 模式:设备始终以相同的寄存器值进入 ISP 模式
  • PC 寄存器:0x1302B460(ROM 引导程序地址)
  • 神奇数字R1=0x5AC33CA5, R3=0x5AC33CA5, R6=0x55AACC33, R7=0x33CCAA55, R8=0x5AA55AA5, R10=0xC33CA55A, R11=0x55AACC33
  • 性能:所有测试配置完全相同

我的测试结果

  1. 自定义 McuBoot 版本
  • 已签名和未签名的二进制文件
  • 不同的 FCB 配置(带/不带 CMML)
  • 各种偏移配置(0x400、0x1000)
  1. 官方 Zephyr 样品
  • frdm_rw612 板配置
  • rd_rw612_bga 板配置
  • sysbuild 和标准版本
  • 用 imgtool 签名
  1. 二进制结构已验证
  • 偏移量 0x0000 处的 MCUBoot 头魔法 (0x3DB8F396)
  • FCB 签名 (FCFB),偏移量 0x0400
  • 带有 LUT 条目的完整 FlexSPI 配置
  • 适当的 IVT/MBI 标头

当前设置

  • :采用 RW612 的定制板
  • 外部闪存:Fidelix 存储器(IRIS-W106-30B 模块)
  • 工具链:Zephyr 4.1.0使用 Zephyr SDK 0.17.0
  • 编程通过 SWD 接口连接 J-Link

社区问题

  1. 启动顺序要求:RW612 ROM 引导加载程序成功从外部闪存启动的确切要求是什么?是否有我遗漏的特定硬件配置要求?
  2. FCB 格式验证:ROM 引导加载程序期望的 FCB 格式是什么?是否有必须满足的验证要求或特定参数?
  3. 硬件配置:外部闪存熔丝所需的特定跳线设置、引脚配置或启动设置是否未记录在案?
  4. 已知问题:RW612 ROM 引导加载程序和外部闪存启动是否存在已知问题?有人成功从外部闪存启动过吗?
  5. 工作示例:有没有人有在 RW612 上成功从外部闪存启动的工作示例?您使用的是什么配置?
  6. 替代方法:如果外部闪存启动存在局限性,那么推荐的生产部署替代方案是什么?
  7. 调试步骤:你建议采取哪些调试步骤来确定 ROM 引导加载程序拒绝 FCB 的原因?

补充背景

事实上,即使是官方 Zephyr 样本(frdm_rw612 和 rd_rw612_bga)也会导致相同的 ISP 模式行为,这表明这可能是其中任何一种模式的根本问题:

  • ROM 引导加载程序的实现
  • 硬件配置要求
  • 我们对启动过程的理解

如能提供任何指导或工作实例,将不胜感激!

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

你好,@dstarck

为了获得更好的模块支持,我建议您直接联系模块制造商(uBlox),以获取与您的模块相关的各种文档。

如果您还有其他问题,请告诉我。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

谢谢,我看到了我想,当我实施它时,它没有工作...我需要回去再看一遍。 此外,我最近还发现 Segger(例如我的 jLink Pro)没有加载器可以正确刷新包含 RW612 芯片的 IRIS-W106-30B 模块使用的 Fidelix 型内存的二进制文件... 所以我也必须弄清楚(除非你有我能使用的加载器)。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

你好,@dstarck

感谢您提供最新的测试结果。关于闪存锁定,请参阅 "如何解决 FRDM-RW612 闪存问题(闪存锁定)"帖子,只需注意在创建新工作区时选择模块专用内存即可。

如果您能解锁闪光灯,请告诉我。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

仅供参考...我能够实现这些变化。 目前,我的定制板已经锁定了闪存,我正在努力在刷新和测试之前将其解锁。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

是的,我知道了,并做了修改。 我正在使用一款带有 IRIS-W106-30B 模块(包含 RW612)的定制板。我将在周末进行测试。谢谢。 如果有问题,我会联系他们,并汇报我的进展情况。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

你好,@dstarck

关于您需要签名/身份验证的启动映像的问题,请参阅 UM11865 第 78 页,其中详细介绍了启动过程的验证,如果您没有使用安全启动 ROM,则镜像不需要签名。

此外,请确认您是否遵循了我从应用程序代码中心分享的指南/示例。

如果这些信息有用,请告诉我您的发现。

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

顺便说一下...昨天深夜我找到了 UM11865 用户手册...我还将查看您发布的文件......以下是我今天上午的调查摘要:

IRIS-W106-30B 模块(基于 RW612)的 ROM 引导加载程序仍停留在 ISP 模式(PC =
1302B460),而不是从外部闪存切换到 MCUBoot 引导加载程序。

调查结果

已确认的工作元器件:
-通过 FCB(闪存配置块)访问 FlexSPI 外部闪存-FCB 签名:42464346 位于 0x08000400
-IVT(图像矢量表)签名:0x08001040 处的 402000D1
-Arm Cortex-M33 矢量表:0x08001400 处的有效堆栈指针 3000B320-外部闪存编程和验证成功
-ROM 引导加载程序可读取的所有启动结构

已确定根本原因:
-IVT boot_data_ptr (0x08001060) 指向包含全零的位置-链接
器未将启动数据结构正确放置在闪存中
-ROM 引导加载程序会验证启动结构,但在验证阶段拒绝映像

主要技术细节:
- 内存布局:FCB@0x400 → IVT@0x1040 → ARM_vectors@0x1400
- IVT 指针:boot_data_ptr=0x08001060,self_ptr=0x08001040
- ROM 引导加载程序成功初始化 FlexSPI 并读取闪存内容
- 问题发生在映像验证期间,而非闪存访问期间

版本配置:
-将 Zephyr RTOS 与 mcuBoot 一起使用-config_nxp_rw6xx_boot_header=Y
-config_trusted_execution_nonsecure=Y-适用于 IRIS-W106-30B 的自定义 IVT 标头和 FCB

恩智浦社区的剩余问题

RW612 ROM 引导加载程序是否需要签名/经过身份验证的启动映像才能移交
给外部闪存引导加载程序?

ROM 引导加载程序似乎可以正确验证所有启动结构,但拒绝
移交。缺少启动数据结构表明:
1.链接器脚本问题导致无法在 Flash
2 中正确放置启动数据。即使是移交引导加载程序,ROM 引导加载程序也需要签名映像(HAB/安全启动)3.

其他验证要求(我将查看文档)

如果您对 RW612 专用 ROM 引导加载程序的验证要求有更多了解,我们将不胜感激。

非常感谢你们的帮助!

Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

非常感谢,我会去看看,并向您汇报。 我认为问题的根源在于 ROM 引导加载程序无法验证闪存中的 MCUBoot 引导加载程序...我将在今天晚些时候向您汇报


Re: RW612 ROM Bootloader Stuck in ISP Mode and not loading MCUBoot from external flash

你好,@dstarck,希望你一切都好。

请查看 产品页面 上的 UM11865-RW61x 用户手册的第 11 章- 非安全启动 ROM ,其中包含有关 RW61x 启动模式以及 FCB 配置和结构的信息。

此外,请参阅从 FRDM-RW612 到第三方模块存储器的迁移指南,其中提供了配置 IRIS-W106-30B 特定闪存的指南和示例。

注意:你提到你曾尝试将 RD-RW612-BGA 二进制文件加载到 EVK 中,此过程可能会导致闪存锁定而无法写入闪存,如果你看到这种行为,请查看以下关于如何解决问题的文章:如何解决 FRDM-RW612 中的闪存问题(闪存锁)

如果这些资源对你有帮助,请告诉我。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-20-2025 11:30 PM
更新者: