文章预览
0 1 引言 在 STM32G0B1 的 FLASH_ACR 寄存器中有个 DBG_SWEN 位,当这个位的值为 0 时,设备就禁用调试能力,无法通过调试器连接到设备,反之则启用调试能力。下图是参考手册中的相关描述: ▲ 图1. RM0444_rev5 的 3.7.1 章节 从上图中可以看出,FLASH_ACR 寄存器的默认值为 0x00040600,即 DBG_SWEN 位的默认值为 1,也就是默认情况下是允许调试访问设备的。 0 2 问题描述 客户使用的是 STM32G0B1 的 I2C bootloader,bootloader 版本是 0x92,在执行完"Go"命令后使用 STM32CubeProgrammer 在"hot plug"模式下连接设备,但是连接失败,提示无法找到设备。 0 3 问题复现与分析 使用 NUCLEO-G0B1RE 板进行测试,bootloader 版本与客户的一致都是 0x92,通过配置选项字节将设备配置为从 system memoery 自举(也就是复位后进入片内 bootloader 中执行)。下图是 STM32G0B1 的参考手册中关于 boot modes 的描述,
………………………………