mcpField
D
debug-platformio

debug-platformio

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

关于 debug-platformio

面向 PlatformIO 嵌入式工程的调试技能,支持在线调试目标板和检查崩溃现场。它根据工程配置选择调试设置,并可与构建技能交接。

主要功能

  1. 01探测 pio CLI 和 debug_tool
  2. 02执行下载后暂停与仅附加模式
  3. 03采集寄存器和调用栈
  4. 04读取 Cortex-M 故障寄存器
  5. 05分类连接和调试故障

适用场景

  1. 01在目标板上单步执行固件
  2. 02调试时检查寄存器和变量
  3. 03收集 HardFault 与调用栈信息
  4. 04构建成功后继续调试

安装

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

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

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

包含的文件

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

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

详细介绍

来自项目 README

PlatformIO 调试

适用场景

  • Project Profile 中标明 build_system: platformio 或工作区中存在 platformio.ini。
  • 用户需要对目标板进行在线调试(单步、断点、查看寄存器和变量)。
  • 需要分析崩溃现场(HardFault 寄存器、调用栈)。

必要输入

  • PlatformIO 工程目录(包含 platformio.ini)。
  • 可选的环境名称和调试模式。

自动探测

  • 自动定位 pio CLI。
  • 解析 platformio.ini 中的 debug_tool 配置。
  • PlatformIO 自动管理调试服务器(OpenOCD/pyOCD/J-Link GDB Server),无需手动配置。

执行步骤

  1. 先阅读 references/usage.md,确认本次操作。
  2. 探测调试环境:
    python scripts/pio_debugger.py --detect --project-dir <工程目录> --env <环境名>
    
  3. 执行调试:
    python scripts/pio_debugger.py --project-dir <工程目录> --env <环境名> --mode download-and-halt
    

调试模式

  • download-and-halt:下载固件到目标板,暂停在入口点,输出寄存器和回溯信息。
  • attach-only:附加到正在运行的目标,不下载固件,输出当前状态。
  • crash-context:暂停目标,读取寄存器、完整回溯和 Cortex-M Fault 寄存器(CFSR/HFSR/MMFAR/BFAR)。

失败分流

  • connection-failure:调试器未连接或设备无响应。
  • debug-not-supported:板卡不支持调试或未配置 debug_tool。
  • debug-failure:调试会话异常终止。

输出约定

示例输出格式:

调试完成 ✅
  工程: ESP32_DEV → 环境: esp32dev
  板卡: esp32dev | 调试工具: esp-prog
  模式: download-and-halt
  关键观察: 5 条(寄存器、回溯帧)

交接关系

  • 从 build-platformio 接收编译成功的工程信息。
  • 调试发现问题后可回交给 build-platformio 修改代码重新编译。

评论

支持 Markdown