Probes
V2EX  ›  问与答

STM32 烧录失败,折腾半天发现是工具在找一个不存在的文件

  •  
  •   Probes · 8h 2m ago · 265 views

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

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

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

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

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

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

    RayLin
        1
    RayLin  
       4h 9m ago via Android
    难得遇到一个搞嵌入式的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   918 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1619ms · UTC 20:46 · PVG 04:46 · LAX 13:46 · JFK 16:46
    ♥ Do have faith in what you're doing.