v2.4.3 — CubeMX 工程的增量编译修复,新增 HAL 模板
修复:CubeMX 生成的工程每次仍全量重编
v2.4.1 加入了编译器记录同步(<pCCUsed>),用来避免 Keil 批处理编译时每次都重编所有文件。但 STM32CubeMX 生成的工程里既没有 <pCCUsed> 也没有 <uAC6>,而同步逻辑只会把记录插在 <uAC6> 前面,于是在 CubeMX 工程上完全没有生效。偏偏这正是 HAL 用户最常见的起点。
现在找不到 <uAC6> 时,会改为插在 <ToolsetName> 之后(µVision 自己保存时也放在这里)。<uAC6> 依然不会被添加,编译器选择保持工程原样。
在 CubeMX 生成的 F103 工程上实测:
| 修复前 | 修复后 | |
|---|---|---|
| 源码无改动时再编译 | 19 个文件 | 0 个文件 |
只改 main.c |
19 个文件 | 1 个文件 |
新增:STM32F103C8 HAL 模板
- 由 STM32CubeMX 6.16.1 + FW_F1 V1.8.7 生成,附带
Template.ioc,可用 CubeMX 打开修改引脚和外设 - 四个故障中断取消了「Generate IRQ handler」,重新生成代码时不会与崩溃追踪器冲突
- 实测:加一个外设后重新生成,崩溃追踪器、工程设置、
USER CODE区块内的代码全部保留
代理遇到 F103C8 且还没有工程时,现在默认下载 HAL 版;用户明确说用标准库时才用标准库版。AGENTS.md 与 SKILL.md 同时要求:在 HAL 工程里写的代码必须放在 USER CODE 区块内,否则会被 CubeMX 覆盖。
其他
- 离线测试:132 → 133 项
- 升级:
git pull后重跑python install_skill.py,刷新各编辑器里的 skill 副本