7

CMSIS-DAP + VSC 开发调试 RP2040

 1 year ago
source link: https://www.taterli.com/9135/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CMSIS-DAP + VSC 开发调试 RP2040

CMSIS-DAP + VSC 开发调试 RP2040

现在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
image.png

如何下次要更新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"],

然后就可以开始调试了.

image-1.png

最常见的是调试器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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK