使用picoprobe调试树莓派PICO(附调试包)
看了下网上的树莓派调试的资料,要么使用 stlink,要么使用树莓派4B,要么按官方的来,使用一个树莓派PICO调试另一个,但连编译后的openocd都不给一个嘛。。。。。
今天来写 一篇:在 Windows 下使用一个树莓派PICO调试另一个,基于官方的 picoprobe
准备材料:
- 树莓派 PICO 两片
- USB 线一根
- 杜邦线若干
下载需要的资源
按官方的教程,你需要编译专门的 openocd 、编译 picoprobe 固件、下载 USB 驱动
然而,这些我已经帮你们做好了,下载吧:树莓派PICO调试包
https://tc.skyone.host/share/picoprobe-debug.zip
包含以下文件:
├── interface
│ └── picoprobe.cfg ---- openocd 配置文件
├── openocd.exe ---- 特别编译的 openocd
├── target
│ └── rp2040.cfg ---- openocd 配置文件
└── zadig-2.7.exe ---- 安装 USB 驱动的程序
烧录调试固件
这一步需要烧录 picoprobe
固件(是烧录到用来调试的PICO,不是要调试的PICO哦)
在我分享的 树莓派PICO调试包
中找到 picoprobe.uf2
按住树莓派PICO的 BOOTSEL
按钮,USB 连电脑,把 picoprobe.uf2
拖入磁盘中
完成!
安装USB驱动
打开调试包的 zadig-2.7.exe
,连接烧录过 picoprobe
驱动的 PICO,按如图选择:
等待驱动安装完成······
在调试包文件夹下运行以下命令:
./openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
如果显示以下内容,表示成功
Open On-Chip Debugger 0.11.0-g4f2ae61 (2022-05-30-21:15)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'swd'
adapter speed: 5000 kHz
Info : Hardware thread awareness created
Info : Hardware thread awareness created
Info : RP2040 Flash Bank Command
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 5000 kHz
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x10000001
Info : rp2040.core0: hardware has 4 breakpoints, 2 watchpoints
Info : rp2040.core1: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 3333
Info : Listening on port 3333 for gdb connections
接线
USB拔掉,接线千万不要接错!!!
接线方式如下表
调试用的PICO | 要调试的PICO |
---|---|
GND | GND |
GP2 | SWCLK |
GP3 | SWDIO |
GP4/UART1 TX | GP1/UART0 RX |
GP5/UART1 RX | GP0/UART0 TX |
VSYS | VSYS |
这里也贴一张官方给的图(在官方的getting-started-with-pico Appendix A: Picoprobe Wiring)
确认一遍没连错,进入下一步
开始调试
这一步分两部分:命令行调试、IDE 调试
命令行调试
将用来调试的PICO用USB连上电脑,在调试包目录运行:
./openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
然后在你 编译好的准备调试的固件的目录 打开一个新的命令行,运行:
arm-none-eabi-gdb <你编译的固件的名称>
------------------------------------------
(GDB) target remote localhost:3333
(GDB) load
烧录完成,开始调试把!
注:如果没有树莓派PICO的开 发环境, 欢迎看我的另一篇很早前写的文章
IDE 调试
打开 Clion,加载你的项目,这里我以打印“1”的程序为例,右下角,选择 Debug
模式,并选择 编辑配置
添加一个 嵌入式GDB服务器
的配置
按如图所示的填,其中:
目标和可执行文件按你们的项目填
GDB :选择 arm-none-eabi-gdb
GDB 服务器:选择调试包里的 openocd
(这里我改了名字)
GDB 服务器参数:填 -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
执行目录:填调试包的目录
接下来这么做就不用我说了把
【完】