Title here
Summary here
图片引用自树莓派 Pico 中文站
图解步骤:
在使用本方式烧录之前,需要准备两块Pico核心板。
先安装openocd,windows用户不需要通过此方式手动安装
sudo apt install automake autoconf build-essential texinfo libtool libftdi-dev libusb-1.0-0-dev libhidapi-dev -y
git clone https://github.com/raspberrypi/openocd.git --recursive --branch rp2040 --depth=1
cd openocd
./bootstrap
./configure --enable-cmsis-dap
make -j12
sudo make install
Ubuntu用户还需设置udev规则才能正常使用调试器
cd contrib
sudo cp 60-openocd.rules /etc/udev/rules.d/
sudo udevadm control --reload
sudo udevadm trigger
树梅派官方推出过基于RP2040的调试器,在github上开源:https://github.com/raspberrypi/debugprobe, 大概长这个样子:
如果有条件的话,可以购买支持官方。
实际上,他们也制作了适用于Pico的固件,我们只需要一个空闲的Pico核心板,然后烧录如下固件:
待烧录完成后,将Pico连接至电脑,在Ubuntu中可以使用lsusb
命令可以看到如下设备
Bus 001 Device 018: ID 2e8a:000c Raspberry Pi Debugprobe on Pico (CMSIS-DAP)
在Windows设备上,也可以看到一个名为CMSIS-DAP的设备
然后将烧录好debugprobe的Pico, 按照如下表格中的方式,连接至需要调试的Pico核心板
debugprobe | Pico |
---|---|
GND | GND |
GP2 | SWCLK |
GP3 | SWDIO |
GP4/UART1_TX | GP1/UART0_RX |
GP5/UART1_RX | GP0/UART0_TX |
VSYS | VSYS |
说明
只将debugprobe连接至电脑即可,如果debugprobe无法给Pico提供电源,则 Pico也需要连接电源。
连接完成之后 ,使用如下命令烧录固件至Pico,以blink.elf为例
openocd -f interface/cmsis-dap.cfg -c "adapter speed 5000" -f target/rp2040.cfg -s tcl -c "program blink.elf verify reset exit"
上传程序到 Pico
sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "program blink.elf verify reset exit"
(待添加)
此方式需要RP2040处于BOOTSEL模式