docs(build): @build 统一为 keil-build skill,build.bat 降为等价原生入口
- AGENTS.md 构建条:@build = keil-build skill(写明 UV4 解析链、退出码 0/1/2/3、日志路径);MDK-ARM/build.bat 明确为等价原生入口,并列出 它相对 skill 缺的三项(无超时保护 / UV4 只认 DTU_KEIL_UV4 / 失败 dump 整份日志) - keil-build SKILL.md「本仓库」段同步:skill 即 @build 口径 - 3 个 skill(new-source-file / ui-verify / new-machine-setup)与 8 篇 docs、README、MDK-ARM/README、环境与部署 3 篇:命令示例与 @build 标识统一改指 skill - scripts/stack_report.py 的构建提示串改指 skill - 环境与部署:DTU_KEIL_UV4 使用方补 keil_build.py;反向测试期望的报错 文案对齐 skill 实际输出(BUILD_ENV_ERROR: ... is set but not a file) - 刻意未改:docs/问题记录/项目审查与优化建议报告.md 的 P2-14/N-18 历史审计条目(属史实记录);test/run_all_suites.py 的 BUILD_BAT 常量(是代码、非文档,改动需另做验证)
This commit is contained in:
@@ -22,9 +22,12 @@ whenToUse: 需要编译 Keil MDK 工程、验证代码改动是否 0 错误 0
|
||||
|
||||
## 本仓库
|
||||
|
||||
仓库原生入口 `& "MDK-ARM\build.bat"`(`@build` 约定)与本 skill 脚本判定口径一致
|
||||
**`@build` = 本 skill**(2026-10-10 起为仓库文档口径):在仓库根目录跑
|
||||
`& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py`。
|
||||
仓库原生入口 `& "MDK-ARM\build.bat"` 与本 skill 判定口径一致
|
||||
(先删旧日志 → `-b -j0 -o` → 无 `error:` 且含 `0 Error(s), 0 Warning(s)`),
|
||||
两者任选;`@build` 文档口径不变。环境变量 `DTU_KEIL_UV4`(用户级,指向 UV4.exe)。
|
||||
**等价可用**,但它无超时保护、UV4 只认 `DTU_KEIL_UV4`、失败时 dump 整份日志 → 默认走本 skill。
|
||||
环境变量 `DTU_KEIL_UV4`(用户级,指向 UV4.exe)。
|
||||
|
||||
## 铁律与陷阱(实测教训)
|
||||
|
||||
|
||||
@@ -33,14 +33,14 @@ whenToUse: 换新机器/新克隆要把环境搭起来、构建或烧录报"环
|
||||
4. **验收三连**(全绿才算环境就绪):
|
||||
```powershell
|
||||
& '.venv\Scripts\python.exe' .dsh/skills/serial-assistant/scripts/serial_tool.py selftest # 23/23 PASS
|
||||
& "MDK-ARM\build.bat" # exit 0
|
||||
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # exit 0
|
||||
& "MDK-ARM\reset.bat" list # 列出探针
|
||||
```
|
||||
|
||||
## 实测坑(本会话两次撞上)
|
||||
|
||||
- **agent/服务派生的 shell 不继承"服务启动之后"设置的用户级环境变量**:
|
||||
`build.bat` 报 exit 2 先分清"真没设"还是"没继承"——查
|
||||
`keil_build.py`(或等价的 `build.bat`)报 exit 2 先分清"真没设"还是"没继承"——查
|
||||
`[Environment]::GetEnvironmentVariable('DTU_KEIL_UV4','User')`,有值就
|
||||
`$env:DTU_KEIL_UV4 = <该值>` 注入当前会话再跑,别急着让用户重设。
|
||||
(`env_check.py` 对这种情况报 WARN 并给注入命令。)
|
||||
|
||||
@@ -28,7 +28,7 @@ whenToUse: 新建 App/、Drivers/BSP/ 下的 .c 文件,或构建/运行报 und
|
||||
|
||||
```powershell
|
||||
cmake --build simulator/build --config Debug # 0 警告
|
||||
& "MDK-ARM\build.bat" # BUILD_OK,0 错 0 警
|
||||
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # BUILD_OK,0 错 0 警
|
||||
```
|
||||
|
||||
## 注意
|
||||
|
||||
@@ -14,7 +14,7 @@ UI 相关改动完成后必须跑完 5 个门禁再提交。完整说明见 `doc
|
||||
cmake --build simulator/build --config Debug # 0) 构建模拟器(须 0 警告)
|
||||
.venv\Scripts\python.exe simulator/tests/check_menu_rows.py # 1) 菜单 8 状态像素回归 + 池基线门禁
|
||||
.venv\Scripts\python.exe simulator/tests/check_content_pages.py # 2) 内容页黄金参考回归 + 往返池门禁
|
||||
& "MDK-ARM\build.bat" # 3) Keil 构建(BUILD_OK,0 错 0 警)
|
||||
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # 3) Keil 构建(BUILD_OK,0 错 0 警)
|
||||
.venv\Scripts\python.exe scripts/check_coding_standard.py # 4) 代码规范检查(PASS)
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user