mcpField
F
flash-platformio

flash-platformio

github.com/leokemp223开发1.0k565 次安装10 周前更新
代码仓库

关于 flash-platformio

面向 PlatformIO 嵌入式工程的固件烧录技能。它探测工程环境和上传设置、执行烧录并报告结果,成功后可交接给串口监视或调试技能。

主要功能

  1. 01探测 pio CLI 和上传协议
  2. 02选择工程默认环境
  3. 03列出已连接设备以便选择端口
  4. 04通过 PlatformIO 上传固件
  5. 05报告分类故障及日志证据

适用场景

  1. 01将构建好的固件烧录到目标板
  2. 02为工程环境选择上传端口
  3. 03查看上传状态和失败日志
  4. 04后续进行串口监视或调试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/leokemp223/embed-ai-tool --skill flash-platformio

安装后在 Claude Code 中输入/flash-platformio确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
usage.md
scripts/
pio_flasher.py

详细介绍

来自项目 README

PlatformIO 烧录

适用场景

  • Project Profile 中标明 build_system: platformio 或工作区中存在 platformio.ini。
  • 用户希望将编译产物烧录到目标板,利用 PlatformIO 内置的上传机制。
  • 支持串口、JTAG、DFU 等多种上传协议,由 platformio.ini 中的 upload_protocol 决定。

必要输入

  • PlatformIO 工程目录(包含 platformio.ini)。
  • 可选的环境名称和上传端口。

自动探测

  • 脚本启动即自动复用工程根目录 .em_skill.json 中上次成功的 profile 作为默认参数(显式参数优先,无需先手动传 --resume);--resume 仅用于断言缓存必须存在,无缓存则非零退出。无缓存或用户明确要求重新探测时,脚本自动回退到正常扫描。
  • 自动定位 pio CLI。
  • 解析 platformio.ini 中的环境列表和 upload_protocol。
  • 若未指定环境,使用 default_envs 或第一个环境。
  • 可列出已连接设备帮助用户确认端口。

执行步骤

  1. 先阅读 references/usage.md,确认本次操作。
  2. 对于常见场景,直接一次调用完成烧录:
    python scripts/pio_flasher.py --flash --project-dir <工程目录> --env <环境名>
    
  3. 若需指定上传端口:
    python scripts/pio_flasher.py --flash --project-dir <工程目录> --env <环境名> --upload-port COM3
    
  4. 读取脚本输出的烧录结果报告,关注成功/失败状态和证据。
  5. 将烧录结果写回 Project Profile,推荐下一步 skill。

失败分流

  • connection-failure:设备未连接、串口被占用或权限不足。
  • project-config-error:板卡配置无效或环境名不存在。
  • upload-failure:上传过程中出错。

输出约定

示例输出格式:

烧录成功 ✅
  工程: ESP32_DEV → 环境: esp32dev
  板卡: esp32dev | 平台: espressif32
  固件: firmware.bin (200.0 KB)
  耗时: 15.3 秒
  • 成功后推荐 serial-monitor(查看串口输出)或 debug-platformio(在线调试)。
  • 失败时输出失败分类和日志证据。

交接关系

  • 从 build-platformio 接收编译成功的工程信息。
  • 烧录成功后交给 serial-monitor(查看串口输出)或 debug-platformio(在线调试)。

评论

支持 Markdown