NXP MCU 技术论坛
直播中

史晓明

8年用户 1012经验值
私信 关注
[问答]

为什么BOOT_CFG1_1和BOOT_CFG1_6为L时不能写入?

我正在使用 NXP Secure Provisioning (Version 10.0) 写入安装了 RT1062 的电路板的 QSPI 闪存。
我尝试参考 MIMXRT1060-EVKB 电路图和“MIMXRT1060-EVKB Board User Manual”使用以下设置进行编写,但发生了错误。
BOOT_MODE0:H
BOOT_MODE1:L
BOOT_CFG1_0:H
BOOT_CFG1_1 - BT_CFG2_2:L
当我将 BOOT_CFG1_1 和 BOOT_CFG1_6 设置为 H 时,我能够写入。
为什么 BOOT_CFG1_1 和 BOOT_CFG1_6 为 L 时我不能写?
请告诉我。

回帖(1)

王雪

2025-4-1 18:03:36

根据你的描述,当 BOOT_CFG1_1BOOT_CFG1_6 设置为低电平(L)时无法写入 QSPI Flash,而设置为高电平(H)时成功,这一现象与 RT1060 的启动配置逻辑QSPI Flash 的访问模式直接相关。以下是可能的原因和解决方案:




1. 启动设备配置错误




  • 问题根源

    BOOT_CFG1[6:1] 的引脚组合决定了 RT1060 的启动设备类型(如 QSPI、SD 卡、NAND 等)。当 BOOT_CFG1_1BOOT_CFG1_6 设置为 L 时,可能选择了不支持当前硬件连接的启动设备(例如 NAND Flash 或 SD 卡),导致 Secure Provisioning 工具无法正确初始化 QSPI 接口。




  • 验证方法

    参考 RT1060 参考手册Chapter 9: System Boot 章节,确认以下配置:



    • BOOT_CFG1[6:1] 的位字段定义(例如:0b001010 对应 FlexSPI NOR 启动)。

    • 确保配置组合与硬件实际连接的 QSPI Flash 型号匹配(例如:是否支持 4 线模式、DTR 模式等)。






2. QSPI 接口模式不匹配




  • 问题根源

    BOOT_CFG1 的部分位可能控制 QSPI 的访问模式(如时钟频率、数据线宽度、命令序列等)。如果设置为 L 时启用了不支持的配置(例如 1 线模式),Secure Provisioning 工具可能无法正确与 Flash 通信。




  • 解决方案

    检查 QSPI Flash 的规格书,确认其支持的接口模式,并调整 BOOT_CFG1 的以下位:



    • BOOT_CFG1_1:可能控制数据线宽度(如 4 线模式需设为 H)。

    • BOOT_CFG1_6:可能控制 Flash 的初始化命令序列或时钟频率。






3. Secure Boot 锁定配置




  • 问题根源

    如果启用了 Secure Boot,某些 BOOT_CFG 位可能被硬件锁定(例如 eFUSE 配置),导致无法通过软件修改。即使未启用 Secure Boot,Secure Provisioning 工具也可能对配置有额外限制。




  • 验证步骤:  



    1. 检查是否烧写过 eFUSE(如 BT_FUSE_SEL),导致 BOOT_CFG 引脚被忽略,直接使用 eFUSE 中的值。  

    2. 在 Secure Provisioning 工具中确认是否有强制校验 BOOT_CFG 的逻辑(例如要求特定引脚为 H)。






4. 硬件电路设计问题




  • 问题根源

    BOOT_CFG1_1BOOT_CFG1_6 设置为 L 时,硬件电路可能存在以下问题:



    • 上拉/下拉电阻冲突:例如,电路板上拉电阻导致引脚无法稳定拉低。

    • Flash 片选信号冲突:错误的配置可能引发多个 Flash 设备竞争总线。




  • 解决方法

    对照 MIMXRT1060-EVKB 原理图,检查以下内容:



    • BOOT_CFG 引脚的上拉/下拉电阻是否与预期配置一致。

    • QSPI Flash 的片选(CS)信号是否唯一有效。






推荐操作步骤




  1. 确认 BOOT_CFG 配置

    根据 RT1060 参考手册,使用 NXP 提供的配置工具(如 MCUBootUtility)生成正确的 BOOT_CFG 值,确保选择 FlexSPI NOR 启动设备。




  2. 检查 Secure Provisioning 日志

    运行 Secure Provisioning 时启用详细日志,观察工具是否报告 BOOT_CFG 相关的错误(例如接口初始化失败)。




  3. 尝试最小配置

    BOOT_CFG1 设置为 EVKB 默认的 QSPI 启动配置(通常为 0x00000xFFFF 的某个组合),逐步调整 BOOT_CFG1_1BOOT_CFG1_6 验证功能。




  4. 联系 NXP 支持

    如果问题持续,提供完整的 BOOT_CFG 设置和 Secure Provisioning 日志,向 NXP 提交技术支持请求。






关键参考文档



  1. i.MX RT1060 Reference Manual:Chapter 9 (System Boot) 和 Chapter 8 (FlexSPI)。  

  2. MIMXRT1060-EVKB Schematic:确认 QSPI Flash 连接方式和 BOOT_CFG 电路。  

  3. Secure Provisioning Tool User Guide:检查工具对 BOOT_CFG 的要求。


通过上述步骤,应能定位到 BOOT_CFG1_1BOOT_CFG1_6 设为 L 时无法写入的具体原因。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分