Skip to content

v2.3.0 — 移除工程脚手架,收窄到不可替代的那件事

Choose a tag to compare

@TaoCosmo-Dev TaoCosmo-Dev released this 18 Sep 16:38
· 13 commits to main since this release

⚠️ 不兼容变更:--create-project 与 stm32_create_project MCP 工具已移除。

为什么移除而不是修复

实战暴露了一个真实缺陷。脚手架在找不到 HAL 源码树时不报错,反而凭空把四个文件名写进 .uvprojx:

if not hal_c_files:
    hal_c_files = [f"stm32{family}xx_hal.c", ...]   # 编造出来的

而 Keil 的器件包(DFP)只带标准外设库 StdPeriph,HAL 需要另装几百 MB 的 STM32Cube_FW。这是很常见的配置 —— 于是在这些机器上,它会静默生成一个引用了不存在源文件、必然编译失败的工程,而 README 却承诺"直编译 0 Error"。

要真正修好,得加库类型探测 + StdPeriph 模板回退,并且每出一个新芯片系列都要持续适配。为一个用户很少需要的能力付出这些代价不划算:会拿 AI 自动化单片机项目的人,手上几乎一定已经有工程了(CubeMX 导出、开发板例程、或教程配套工程)。

它有 1142 行,占代码量 19%,是最大的单个模块 —— 也正是这次失败的那一部分。

留下的是什么

给已有工程补上反馈回路,这件事别处没有:

  • 带行号的编译错误
  • SWD 烧录与运行控制(烧完先 halt,开好串口再 resume,否则启动横幅必丢)
  • 实机串口判定
  • HardFault 寄存器级归因
  • 把崩溃地址反查到具体源码行

数字

v2.2.1 v2.3.0
净变化 −1263 行
MCP 工具 11 10
离线自测 79 76

迁移

先用任意方式拿到一个能编译的 Keil 工程 —— STM32CubeMX 导出、开发板附带的例程、或教程配套工程(江科大、正点原子等)都可以 —— 再按 README 接入。接入之后的所有工程结构改动(加文件、加路径、加宏、装崩溃追踪器)仍然全部由 AI 用命令完成,不需要打开 Keil。


Full Changelog: v2.2.1...v2.3.0