现在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(除非很简单)
发现大佬一位