问题描述
我在使用恩智浦 RW612 时遇到了一个持续的问题,即无论使用哪种二进制结构或配置,ROM 引导加载程序总是进入 ISP 模式,而不是从外部闪存启动。
症状
我的测试结果
当前设置
社区问题
补充背景
事实上,即使是官方 Zephyr 样本(frdm_rw612 和 rd_rw612_bga)也会导致相同的 ISP 模式行为,这表明这可能是其中任何一种模式的根本问题:
如能提供任何指导或工作实例,将不胜感激!
你好,@dstarck。
为了获得更好的模块支持,我建议您直接联系模块制造商(uBlox),以获取与您的模块相关的各种文档。
如果您还有其他问题,请告诉我。
谢谢,我看到了我想,当我实施它时,它没有工作...我需要回去再看一遍。 此外,我最近还发现 Segger(例如我的 jLink Pro)没有加载器可以正确刷新包含 RW612 芯片的 IRIS-W106-30B 模块使用的 Fidelix 型内存的二进制文件... 所以我也必须弄清楚(除非你有我能使用的加载器)。
你好,@dstarck。
感谢您提供最新的测试结果。关于闪存锁定,请参阅 "如何解决 FRDM-RW612 闪存问题(闪存锁定)"帖子,只需注意在创建新工作区时选择模块专用内存即可。
如果您能解锁闪光灯,请告诉我。
仅供参考...我能够实现这些变化。 目前,我的定制板已经锁定了闪存,我正在努力在刷新和测试之前将其解锁。
是的,我知道了,并做了修改。 我正在使用一款带有 IRIS-W106-30B 模块(包含 RW612)的定制板。我将在周末进行测试。谢谢。 如果有问题,我会联系他们,并汇报我的进展情况。
你好,@dstarck。
关于您需要签名/身份验证的启动映像的问题,请参阅 UM11865 第 78 页,其中详细介绍了启动过程的验证,如果您没有使用安全启动 ROM,则镜像不需要签名。
此外,请确认您是否遵循了我从应用程序代码中心分享的指南/示例。
如果这些信息有用,请告诉我您的发现。
顺便说一下...昨天深夜我找到了 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 引导加载程序的验证要求有更多了解,我们将不胜感激。
非常感谢你们的帮助!
非常感谢,我会去看看,并向您汇报。 我认为问题的根源在于 ROM 引导加载程序无法验证闪存中的 MCUBoot 引导加载程序...我将在今天晚些时候向您汇报
你好,@dstarck,希望你一切都好。
请查看 产品页面 上的 UM11865-RW61x 用户手册的第 11 章- 非安全启动 ROM ,其中包含有关 RW61x 启动模式以及 FCB 配置和结构的信息。
此外,请参阅从 FRDM-RW612 到第三方模块存储器的迁移指南,其中提供了配置 IRIS-W106-30B 特定闪存的指南和示例。
注意:你提到你曾尝试将 RD-RW612-BGA 二进制文件加载到 EVK 中,此过程可能会导致闪存锁定而无法写入闪存,如果你看到这种行为,请查看以下关于如何解决问题的文章:如何解决 FRDM-RW612 中的闪存问题(闪存锁)。
如果这些资源对你有帮助,请告诉我。