其他
当 PlatformIO 工程需要烧录固件时,自动复用配置…
适用于已有 platformio.ini 的 PlatformIO 工程,需要将编译产物烧录到目标板并获取烧录结果。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
当 PlatformIO 工程需要烧录固特定
解决思路
- 脚本启动即自动复用工程根目录 .em_skill.json 中上次成功的 profile 作为默认参数,显式参数优先,无需先手动传 --resume。
- --resume 仅用于断言缓存必须存在,无缓存则非零退出。
- 无缓存或用户明确要求重新探测时,脚本自动回退到正常扫描。
- 自动定位 pio CLI。
- 解析 platformio.ini 中的环境列表和 upload_protocol。
- 若未指定环境,使用 default_envs 或第一个环境。
- 可列出已连接设备帮助用户确认端口。
- 先阅读 references/usage.md,确认本次操作。
- 对于常见场景,直接一次调用完成烧录:python scripts/pio_flasher.py --flash --project-dir <工程目录> --env <环境名>。
- 若需指定上传端口:python scripts/pio_flasher.py --flash --project-dir <工程目录> --env <环境名> --upload-port COM3。
- 读取脚本输出的烧录结果报告,关注成功/失败状态和证据。
- 将烧录结果写回 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(在线调试)。
适用边界 · 注意事项
- 工程没有 platformio.ini,或 Project Profile 未标明 build_system: platformio。
- 未安装或无法定位 pio CLI,或目标板不受 PlatformIO 上传机制支持。
- 编译尚未成功、没有可烧录固件时,先完成编译再烧录。