Pico Debug Probe的源码放在Github上面: https://github.com/raspberrypi/debugprobe/releases/tag/debugprobe-v2.0
从上图可见,在编译的时候如果指定了参数“DEBUG_ON_PICO”那么SWD调试引脚分别是:
SWCLK-GPIO2 SWDIO-GPIO3
如下所示是手头的一款以RP2040为核心的小板子,扩展出来的引脚非常少,尤其是IO2和IO3压根没有引出来,因此官方固件就无法工作。
本次分享的内容就是如何根据官方指导在本地部署开发环境,变更SWCLK与SWDIO到任一引脚。
安装交叉编译工具链 - ARM GCC compiler
下载并安装 ARM GCC compiler ( 下载地址 https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
目前电脑上安装的版本是:gcc-arm-none-eabi-10-2020-q4-major-win32
安装过程中要勾选:
可能是我电脑权限问题,最好再检查一下如下值是否加到了系统的PATH变量里。
可通过命令行验证是否正确安装:
2 安装自动化建构系统 - CMake
CMake (Cross platform Make) 是一个开源的跨平台自动化建构系统,用来管理软件建置的程序。(下载地址 https://cmake.org/download/ ),安装 CMake 并添加到环境变量。
如果环境变量配置正确,随意开一个命令行,可以查看版本号:
3 安装MingW
主要使用windows中常用编译C/C++的mingw工具链(包括了mingw下的gcc,make以及gdb等),包括MinGW Makefiles来进行树莓拍Pico C/C++开发
下载并安装 https://www.mingw-w64.org/downloads/
之后跳转到Git进行下载,我这次下载到是最新版。
下载解压后,将mingw中bin路径添加到环境变量中,同时在bin文件夹下,找到mingw32-make.exe复制一份重命名为make.exe
验证是否正确安装:
完成以上步骤,已经具备了开发的基本工具,接下来进入正题获取PICO C SDK和PICO debug Probe源码。
4 PICO C SDK获取
在github中获取树莓派pico的sdk和example(内容可参考树莓派pico提供的资料),树莓文档网址https://datasheets.raspberrypi.com/
使用 Git 从 GitHub 上克隆 pico-sdk (没有 Git 的可以自行安装一下)。在自己想要放 pico-sdk 的位置打开 Git Bash,然后执行以下命令克隆 pico-sdk 以及安装依赖
之后将 pico-sdk 添加到环境变量中,并命名为 PICO_SDK_PATH 。
5 PICO Debug Probe源码获取
debug Probe的源码:https://github.com/raspberrypi/debugprobe
树莓派官方也提供了如何制作一个uf2,如下文所示,不过在操作过程中遇到了错误,现在记录一下。
首先下载源码:
git clone https://github.com/raspberrypi/debugprobe
cd debugprobe
接着Initialize and update the submodules:
git submodule update --init
最后创建一个build文件夹(Then create and switch to the build directory):
mkdir build
cd build
到目前为止,pico-sdk与debugprobe的源码都已经准备好了,3个主要的工具链也OK了。
根据网友的方法,添加如下一行:
随后进入新创建的build文件夹,然后打开Powershell或者CMD运行命令:注意后面的 ..表示上级目录。
cmake -G "MinGW Makefiles" -DDEBUG_ON_PICO=ON ..
命令执行完后,可以看到生成了Makefile文件,接下来使用make -j20即可构建uf2固件!
接下来按住PICO开发板boot键,然后再插入USB,电脑会出现一个RPI-PR2的磁盘,把uf2拖入即可。
开发板会自动重启,然后被正确识别为Keil CMSIS DAP-v2!
在keil里面,选择CMSIS-DAP
之后按照如下设置,可以正常烧录程序。