用途:面向 ESP-IDF 固件工程,完成目标芯片设置、编译构建与固件产物确认。适用于工作区含 ESP-IDF 工程结构、Project Profile 标注 build_system: idf,或烧录调试前需生成新固件的场景。
首次使用需向用户确认目标芯片(如 esp32、esp32s2、esp32s3、esp32c3、esp32c6、esp32h2 等)与 IDF_PATH,不得跳过;非首次可复用 Project Profile 中已记录参数。脚本会自动复用工程根目录 .em_skill.json 的上次成功 profile,显式参数优先,--resume 仅断言缓存存在。
执行流程:先阅读 references/usage.md 确认本次属于环境探测、设置目标、执行构建还是仅扫描产物;环境不确定时运行 scripts/idf_builder.py 的 --detect 模式;切换目标用 --set-target <chip>;构建用 --build --project <path>;修改 sdkconfig 需手动运行 idf.py menuconfig。
环境激活:ESP-IDF v5.x 使用 source $IDF_PATH/export.sh,v6.0+ 通过 EIM 如 source ~/.espressif/tools/activate_idf_vX.Y.Z.sh。构建目录默认为 build/。
输出构建命令、构建目录、目标芯片、IDF 版本与首选产物路径,并用 artifact_path、artifact_kind、idf_target、idf_version 更新 Project Profile,成功后推荐交由 flash-idf。失败分流包括 environment-missing、project-config-error、artifact-missing、ambiguous-context。限制:idf.py 不可用或 IDF_PATH 未设置时无法构建,需用户手动安装 ESP-IDF;menuconfig 为交互式命令不可自动执行。