CMSIS-DAP + VSC 开发调试 RP2040

/ 0评 / 0

现在RP2040已经发布了好久,但是偶尔要用点什么,还是mpy多,很少写C,不是说mpy不行,但是有些场合,就是C写起来顺手,但是一搜索,mpy的用户一大堆,C的很少,而且MDK开发什么的很多人已经习惯,虽然傻孩子也移植了MDK支持包,但是对于官方原生就支持的cmake,他明显很多优点嘛(我也没说MDK不好),现在就来配置下.

在已经安装VSC之后,可以使用现在官方的一个快速安装脚本.(然后缺什么自己装什么,每个人根据环境可能有所不同!)

sudo apt install pkg-config libusb-1.0-0 libusb-1.0-0-dev libusb-dev libusb-1.0-doc -y
 # 默认系统中缺乏这些库,但是很多搞开发的人应该都早装了.
wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
chmod +x pico_setup.sh
./pico_setup.sh

如何下次要更新SDK,进入SDK目录直接更新就可以.

cd pico-sdk
git pull
git submodule update

然后把example复制一个出来,比如我的blink(比hello world简单!),然后把调试配置拉出来.

pico/pico-examples/ide/vscode/settings.json
pico/pico-examples/ide/vscode/launch-probe-swd.json

这时候这里的目录结构.

├── blink
│   ├── blink.c
│   └── CMakeLists.txt
├── CMakeLists.txt
├── example_auto_set_url.cmake
├── pico_extras_import_optional.cmake
├── pico_sdk_import.cmake
└── .vscode
    ├── launch.json
    └── settings.json

当然,默认居然没标注调试器速度,我设定一个.(修改launch.json)

"openOCDLaunchCommands": ["adapter speed 5000"],

然后就可以开始调试了.

最常见的是调试器USB权限问题,这里附加说一下,比如调试器的VID = C251,PID = F00A,我们可以设置一个规则(/etc/udev/rules.d/50-dap.rules),然后sudo udevadm trigger刷新.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="c251", ATTRS{idProduct}=="f00a" GROUP="users", MODE="0666", GROUP="plugdev", TAG+="uaccess"

做了个简单的RP2040 FreeRTOS SMP例子,大概率后续的应用我一般都会上RTOS(除非很简单)

https://github.com/nickfox-taterli/FreeRTOS_RP2040

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注