根据你的描述,当 BOOT_CFG1_1 和 BOOT_CFG1_6 设置为低电平(L)时无法写入 QSPI Flash,而设置为高电平(H)时成功,这一现象与 RT1060 的启动配置逻辑和 QSPI Flash 的访问模式直接相关。以下是可能的原因和解决方案:
问题根源:
BOOT_CFG1[6:1] 的引脚组合决定了 RT1060 的启动设备类型(如 QSPI、SD 卡、NAND 等)。当 BOOT_CFG1_1 和 BOOT_CFG1_6 设置为 L 时,可能选择了不支持当前硬件连接的启动设备(例如 NAND Flash 或 SD 卡),导致 Secure Provisioning 工具无法正确初始化 QSPI 接口。
验证方法:
参考 RT1060 参考手册的 Chapter 9: System Boot 章节,确认以下配置:
BOOT_CFG1[6:1] 的位字段定义(例如:0b001010 对应 FlexSPI NOR 启动)。问题根源:
BOOT_CFG1 的部分位可能控制 QSPI 的访问模式(如时钟频率、数据线宽度、命令序列等)。如果设置为 L 时启用了不支持的配置(例如 1 线模式),Secure Provisioning 工具可能无法正确与 Flash 通信。
解决方案:
检查 QSPI Flash 的规格书,确认其支持的接口模式,并调整 BOOT_CFG1 的以下位:
BOOT_CFG1_1:可能控制数据线宽度(如 4 线模式需设为 H)。BOOT_CFG1_6:可能控制 Flash 的初始化命令序列或时钟频率。问题根源:
如果启用了 Secure Boot,某些 BOOT_CFG 位可能被硬件锁定(例如 eFUSE 配置),导致无法通过软件修改。即使未启用 Secure Boot,Secure Provisioning 工具也可能对配置有额外限制。
验证步骤:
BT_FUSE_SEL),导致 BOOT_CFG 引脚被忽略,直接使用 eFUSE 中的值。 BOOT_CFG 的逻辑(例如要求特定引脚为 H)。问题根源:
当 BOOT_CFG1_1 和 BOOT_CFG1_6 设置为 L 时,硬件电路可能存在以下问题:
解决方法:
对照 MIMXRT1060-EVKB 原理图,检查以下内容:
BOOT_CFG 引脚的上拉/下拉电阻是否与预期配置一致。确认 BOOT_CFG 配置:
根据 RT1060 参考手册,使用 NXP 提供的配置工具(如 MCUBootUtility)生成正确的 BOOT_CFG 值,确保选择 FlexSPI NOR 启动设备。
检查 Secure Provisioning 日志:
运行 Secure Provisioning 时启用详细日志,观察工具是否报告 BOOT_CFG 相关的错误(例如接口初始化失败)。
尝试最小配置:
将 BOOT_CFG1 设置为 EVKB 默认的 QSPI 启动配置(通常为 0x0000 或 0xFFFF 的某个组合),逐步调整 BOOT_CFG1_1 和 BOOT_CFG1_6 验证功能。
联系 NXP 支持:
如果问题持续,提供完整的 BOOT_CFG 设置和 Secure Provisioning 日志,向 NXP 提交技术支持请求。
BOOT_CFG 电路。 BOOT_CFG 的要求。通过上述步骤,应能定位到 BOOT_CFG1_1 和 BOOT_CFG1_6 设为 L 时无法写入的具体原因。
举报
更多回帖