v2.3.0 — 移除工程脚手架,收窄到不可替代的那件事
⚠️ 不兼容变更:--create-project与stm32_create_projectMCP 工具已移除。
为什么移除而不是修复
实战暴露了一个真实缺陷。脚手架在找不到 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