前几天又碰到一次 STM32 烧录失败。 点了 Load ,红灯一亮,报错弹出来。我的第一反应还是老一套:重装 CubeIDE ,换根 USB 线,再把 ST-Link 插到另一个口上。折腾了快半小时,问题一点没变。 后来回工程里重新编译,顺手去看了一眼输出目录,才发现工具要烧的文件根本不在那里。工程目录前阵子改过,烧录配置还停在旧路径上。 文件找回来之后,烧录还是失败。这次报的是 No target connected 。ST-Link 的灯亮着,但目标芯片没认到。GND 接得有点松,重新压紧之后才连上。中间还顺手量了 3.3V ,电压虽然没塌,但线一碰就掉,这种时候软件报错看起来会特别像“调试器坏了”。 第二次让我卡住的是一个自己写的程序。第一次烧录正常,程序跑起来以后就再也连不上了。查了半天,发现程序把 PA13 、PA14 改成了普通 GPIO ,调试口被自己关掉。最后按住复位键开始烧录,才把芯片重新抓回来。要是连复位都不行,就只能把 BOOT0 拉高,进系统 Bootloader 先烧一个最小程序。 这类问题最烦的地方是,报错看起来都差不多,实际原因差得很...