对于支持 BSL 且 BSL 已启用(默认启用)的器件,可使用硬件调用方法强制 MCU 进入 BSL 模式。此时 MCU 将执行 ROM 中的 BSL 代码,不会运行应用程序代码。在 BSL 模式下,器件保持与 SEC_AP 和 CS_DAP 内核的连接。
备注: MCU 进入 BSL 模式时,用户无法连接到 Arm®Cortex®-M33 内核,因为默认情况下 BSL 不可调试。但是,由于 CS_DAP 内核可用于连接,用户仍可以发送 DSSM 命令。
在 BSL 模式下,用户可以依据节 8.2.2发送 BSL 命令,或依据节 8.2.3发送 DSSM 命令以恢复设备。如果软件问题导致 MCU 进入锁定状态,此方法可帮助用户解锁器件。
以下列出了强制 MCU 进入 BSL 模式的推荐方法:
- 将 BSL 调用引脚(默认为 PA18)连接到 VCC(使用或不使用上拉电阻器)。重新为器件供电。
- 将 BSL 调用引脚(默认为 PA18)连接到 VCC(使用或不使用上拉电阻器)。强制拉低 NRST 超过 1 秒以触发 POR。
备注: 如果 MCU 进入 BSL 模式后 10 秒内未向 UART、I2C 或 CAN 接口发送 BSL 连接命令,MCU 将进入 STANDBY0 模式。
这种方法在以下情况下不可行:
- NONMAIN 配置 CRC 校验失败。
- NONMAIN 配置禁用了 SWD 接口或锁定了调试访问。
- 器件支持 VBAT 功能且启用了 IWDT,需要用户手动关闭 VBAT 以禁用 IWDT。
- BSL 硬件调用方法被禁用。