EIDE 嵌入式工程构建。本 skill 提供 EIDE 工程的发现、构建配置枚举、增量编译、全量重建、清理和 ELF 大小分析能力,并返回可供 jlink/openocd 继续使用的固件产物路径。EIDE 是 VS Code 下的嵌入式开发扩展,使用 ARM CC (AC5/AC6) 或 GCC 工具链,通过 unify_builder 统一构建后端驱动。
用途与能力:子命令包括 scan(搜索含 .eide/eide.yml 的工程)、configs(枚举构建配置 ConfigName)、build(增量编译)、rebuild(全量重建,额外支持 --clean-first 先清理再重建)、clean(清理产物)、size(分析 ELF 的 text/data/bss 与内存使用,支持 analyze 与 compare 对比)。
配置:环境级配置在 skill/config.json,含 builder_dir(必填,EIDE unify_builder 目录)、builder_exe(默认 unify_builder.exe)、code_exe、toolchain_prefix(默认 arm-none-eabi-)、operation_mode(1 直接执行/2 输出风险摘要不阻塞/3 执行前确认)。工程级配置为 workspace/.embeddedskills/config.json,含 eide.project、eide.config、eide.log_dir(默认 .embeddedskills/build)。参数解析优先级:CLI 显式参数 > 环境级配置 > 工程级配置 > state.json > 搜索/询问。
使用方式:脚本使用标准库 + PyYAML。扫描:python <skill-dir>/scripts/eide_project.py scan --root <搜索目录> --json;枚举配置:python <skill-dir>/scripts/eide_project.py configs --project <工程目录> --json。构建:python <skill-dir>/scripts/eide_build.py <build|rebuild|clean> --builder-dir <unify_builder目录> --project <工程根目录> --config <配置名称> --log-dir <日志目录> --json。大小分析:python <skill-dir>/scripts/eide_size.py analyze --elf <elf路径> --toolchain-prefix arm-none-eabi- --json(compare 用 --elf 与 --compare)。所有脚本以 JSON 返回,基础字段 status、action、summary、details,可能附带 context、artifacts、metrics、state、next_actions、timing。
限制:不修改 .eide/eide.yml 或任何 EIDE 工程配置文件;不自动猜测工程路径或构建配置,有歧义时必须询问用户;clean 不在自动流程中隐式执行。构建成功后优先使用返回的 flash_file/debug_file 与 jlink/openocd 串联。结果回显始终包含工程名、配置名、构建目录路径。收费、价格与平台支持等信息暂未提供。
与 Keil 关系:EIDE 工程与 Keil MDK 工程共享相同源码与 ARM CC 工具链,构建产物(.axf/.hex/.elf)格式兼容可互换使用。