• Probes

    前几天又碰到一次 STM32 烧录失败。

    点了 Load ,红灯一亮,报错弹出来。我的第一反应还是老一套:重装 CubeIDE ,换根 USB 线,再把 ST-Link 插到另一个口上。折腾了快半小时,问题一点没变。

    后来回工程里重新编译,顺手去看了一眼输出目录,才发现工具要烧的文件根本不在那里。工程目录前阵子改过,烧录配置还停在旧路径上。

    文件找回来之后,烧录还是失败。这次报的是 No target connected 。ST-Link 的灯亮着,但目标芯片没认到。GND 接得有点松,重新压紧之后才连上。中间还顺手量了 3.3V ,电压虽然没塌,但线一碰就掉,这种时候软件报错看起来会特别像“调试器坏了”。

    第二次让我卡住的是一个自己写的程序。第一次烧录正常,程序跑起来以后就再也连不上了。查了半天,发现程序把 PA13 、PA14 改成了普通 GPIO ,调试口被自己关掉。最后按住复位键开始烧录,才把芯片重新抓回来。要是连复位都不行,就只能把 BOOT0 拉高,进系统 Bootloader 先烧一个最小程序。

    这类问题最烦的地方是,报错看起来都差不多,实际原因差得很远。现在我会先判断是文件没生成、目标板没连上、芯片不能擦写,还是新程序把调试条件破坏了。先分清这几种情况,比一上来重装软件有用得多。

    主楼
  • RayLin

    难得遇到一个搞嵌入式的

    #1
  • loading

    stm32 都这样,你玩国产芯片那估计疯了。

    #2

发表回复

登录后回复