关于 debug-platformio
面向 PlatformIO 嵌入式工程的调试技能,支持在线调试目标板和检查崩溃现场。它根据工程配置选择调试设置,并可与构建技能交接。
主要功能
- 01探测 pio CLI 和 debug_tool
- 02执行下载后暂停与仅附加模式
- 03采集寄存器和调用栈
- 04读取 Cortex-M 故障寄存器
- 05分类连接和调试故障
适用场景
- 01在目标板上单步执行固件
- 02调试时检查寄存器和变量
- 03收集 HardFault 与调用栈信息
- 04构建成功后继续调试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ leokemp223/ embed-ai-tool --skill debug-platformio安装后在 Claude Code 中输入/debug-platformio确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/usage.mdscripts/pio_debugger.py详细介绍
来自项目 READMEPlatformIO 调试
适用场景
Project Profile中标明build_system: platformio或工作区中存在platformio.ini。- 用户需要对目标板进行在线调试(单步、断点、查看寄存器和变量)。
- 需要分析崩溃现场(HardFault 寄存器、调用栈)。
必要输入
- PlatformIO 工程目录(包含
platformio.ini)。 - 可选的环境名称和调试模式。
自动探测
- 自动定位
pioCLI。 - 解析
platformio.ini中的debug_tool配置。 - PlatformIO 自动管理调试服务器(OpenOCD/pyOCD/J-Link GDB Server),无需手动配置。
执行步骤
- 先阅读 references/usage.md,确认本次操作。
- 探测调试环境:
python scripts/pio_debugger.py --detect --project-dir <工程目录> --env <环境名> - 执行调试:
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