SuperAPI AI 工具集

build-keil

通用与其它

查看项目

更新于 10-15 23:58

技能介绍

用途:当 Project Profile 标明 build_system: keil,或工作区存在 .uvprojx / .uvproj 文件时,用该技能对 Keil MDK 工程执行编译、重编译或确认固件产物,为后续烧录或调试提供新的 AXF、HEX、BIN。

主要能力:自动复用工程根目录 .em_skill.json 中上次成功的 profile 作为默认参数;搜索常见安装路径与环境变量(KEIL_ROOT、MDK_ROOT)定位 UV4.exe;解析工程 Target 列表,提取芯片型号、输出目录、工具链(ARMCC/ARMCLANG);未指定目标时默认用第一个 Target;在输出目录按 ELF > HEX > BIN 排序搜索产物;存在多个合理工程或目标时列出候选而非猜测。失败分流为 environment-missing、project-config-error、artifact-missing、ambiguous-context。

使用方式:先阅读 references/usage.md 确认本次是环境探测、工程扫描、列出目标还是编译。单工程单目标常见场景优先一次调用完成探测加编译:python scripts/keil_builder.py --detect --project <工程文件> --target <目标名>。仅在需要交互式选择时才分步执行 --scan、--list-targets;--resume 仅用于断言缓存必须存在,无缓存则非零退出。

输出约定:需呈现编译状态、工程与目标名、芯片型号与工具链、固件大小(Code、RO-data、RW-data、ZI-data 及 Flash/RAM 汇总)、编译耗时、产物列表及大小、错误/警告统计;失败时给出分类与日志证据。最后用 artifact_path、artifact_kind、target_mcu、toolchain 更新 Project Profile,成功后推荐 flash-keil、flash-openocd 或 debug-gdb-openocd。

限制:Keil MDK 仅原生运行于 Windows,UV4.exe 命令行编译需 Windows 环境;非 Windows 平台仍可执行工程解析、扫描和产物扫描,但实际编译会被阻塞。编译日志可能含 GBK 中文字符,脚本自动尝试多种编码。产物路径应保持绝对路径。费用、价格等未在资料中提供。