使用 Clion 调试 Raspberry Pi Pico
0. 简介
Picoprobe 是一个可以将 Raspberry Pi Pico 作为调试器来调试另外一个 Raspberry Pi Pico 的项目,从而可以实现无需购买额外的硬件来调试自己的项目(Picoprobe 可以将 Pico 变成一个 USB 转 SWG + UART 调试器,可以已调试其他开发板)。
在官方入门文档 getting-started-with-pico.pdf 的 Appendix A: Using Picoprobe 章节有介绍如何使用 Picoprobe ,但很多步骤可以简化,本文主要介绍如何快速搭建整个调试环境。
1. 下载并烧录 Picoprobe
项目地址:https://github.com/raspberrypi/picoprobe ,和普通的Pico项目一样编译即可。
也可以直接下载编译好的文件:https://github.com/raspberrypi/picoprobe/releases/latest
完成后将下载或编译后的 picoprobe.uf2 文件烧录入作为调试器的Pico。
2. 下载OpenOCD
a) OpenOCD 默认不支持 Pi Pico,所以需要自己编译的特殊版本。getting-started-with-pico 有介绍如何在 Windows 上编译特定版本的 OpenOCD,但整个编译过程很复杂且容易出错。故用第三方编译好的版本。下载地址:https://gnutoolchains.com/arm-eabi/openocd/
b) 下载完成后解压,找到 share\openocd\scripts\interface\picoprobe.cfg 文件用文本编辑器打开,将该文件中 adapter driver picoprobe 改为 adapter driver cmsis-dap【注1】。
3. 配置 Clion
添加运行配置,选择 “嵌入式GDB服务器” 。

只需配置以下三个参数即可,其他使用默认值。
target remote:localhost:3333
GDB服务器:<OpenOCD Path>\bin\openocd.exe
GDB服务器实参:-f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
注:<OpenOCD Path> 替换成 OpenOCD 实际解压目录
3. 连接两个 Pi Pico
如下图所示,左侧为作为调试器的Pico A,右侧为需要调试的Pico B。
如果只需要 SWG 调试的话,黄色和橙色的串口线可以不用连接。

4. 使用
将Pico A使用USB接入电脑,然后点击IDE的调试模式按钮即可。