马上注册,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
×
在 MCUboot 的串行恢复(Serial Recovery)模式下,是只有串口 DFU 功能,没有应用和蓝牙协议栈在运行的,所以你看不到蓝牙功能,这是正常现象。 原因是: - 串行恢复是 MCUboot 自己实现的前台 DFU 传输,只通过串口(UART 或 USB CDC ACM)收固件,应用不会启动,因此也就没有蓝牙协议栈和广播。[MCUboot 串行恢复; nRF Desktop 串行恢复 DFU]
- 串行恢复模式通常配合**单槽(single slot)**使用,直接覆盖主槽应用镜像,用于“救砖”或本地有线升级。[nRF Desktop MCUboot 模式; UART 串行恢复练习]
如果你希望在蓝牙模式下进行 OTA(FOTA),而不是进入串行恢复模式,有两种典型做法: 应用内 DFU(推荐用于 BLE OTA) - 让应用在运行时通过 MCUmgr + SMP 协议接收固件(可以是 BLE、UART 等传输),然后把镜像写到升级槽,再重启由 MCUboot 切换镜像。[DFU 对比表; nRF54L15 OTA 建议]
- 这种方式需要 MCUboot 使用双槽模式(不能是 SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y),并在应用中启用 mcumgr、SMP over BLE 等配置(参考 Academy 中的 FOTA over BLE 教程和 SMP Server 示例)。[DFU from application 步骤; nRF54L15 FOTA 教程引用]
保留串行恢复,只作为“兜底” - 你可以同时:
- 在 MCUboot 里启用串行恢复(按键 + UART/USB,用于本地有线救援);[MCUboot 串行恢复配置; UART 串行恢复配置步骤]
- 在应用里启用基于 BLE 的 DFU(MCUmgr + SMP over BLE),用于正常 OTA。[nRF54L15 OTA 建议]
- 两者互不影响:串行恢复只在你按键进入 bootloader 时生效,平时上电直接进应用,由应用通过 BLE 做 OTA。
总结: - 串行恢复模式下没有蓝牙是设计如此,因为此时只运行 MCUboot,不运行应用。
- 如果你需要“蓝牙模式下 OTA”,应实现应用内的 BLE DFU(MCUmgr + SMP over BLE),MCUboot 只负责启动和切换镜像;串行恢复可以作为备用的有线升级/救援手段。
|