RP2040入門(一)配置開發(fā)環(huán)境
樹莓派的RP2040是一個(gè)比較有特色的單片機(jī),除了價(jià)格便宜以外,PIO這個(gè)可編程組件可以實(shí)現(xiàn)很多傳統(tǒng)MCU不借助CPLD或者FPGA很難實(shí)現(xiàn)的功能。
想把RP2040學(xué)起來用起來,第一步就是配置開發(fā)環(huán)境。目前配置RP2040的環(huán)境已經(jīng)比較簡單了,但是仍然有坑,所以寫一篇文章記一下。
- Windows環(huán)境
Windows下配置RP2040開發(fā)環(huán)境,最好用的并不是官方推薦的VSCode+插件,而是VisualGDB。
- 安裝Visual Studio2022,社區(qū)版即可,選桌面C++開發(fā)就足夠了。
- VisualGDB - Serious cross-platform support for Visual Studio 下載VisualGDB并安裝。
- 和諧文件[分享]VisualGDB和VisualKernel的破解-資源下載-看雪-安全社區(qū)|安全招聘|kanxue.com,最新的在116樓。注冊選Custom或者更高版本。
- 安裝注冊完以后,新建工程里面直接就可以選樹莓派PICO,按照提示下載對應(yīng)的包即可。
新建工程的最后一步是選擇調(diào)試器,如下:
選OpenOCD,調(diào)試器請按照自己有得選,比如JLink,后面會單獨(dú)說明,頻率的話不確定可以用默認(rèn),不穩(wěn)定可以改成低的。
調(diào)試協(xié)議選SWD。是否每次都編程Flash,可以按照自己需要弄。
復(fù)位設(shè)備建議都選上。官方Windows開發(fā)環(huán)境
- 樹莓派官方提供了一個(gè)一鍵安裝包:https://github.com/raspberrypi/pico-setup-windows/releases/latest/download/pico-setup-windows-x64-standalone.exe
- 這個(gè)安裝包會安裝VScode、Cortex-Debug - Visual Studio Marketplace、Arm GCC 套件、OpenOCD、RP2040 SDK等必要的內(nèi)容,自動(dòng)配置好環(huán)境變量
- VSCode需要配置好settings.json和launch.json才可以開發(fā)調(diào)試,后面會單獨(dú)說明。
- Linux環(huán)境全自動(dòng)安裝:
RP2040的默認(rèn)開發(fā)環(huán)境是Linux,可以用腳本自動(dòng)安裝,也可以全手工配置。 - 下載wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
- chmod +x pico_setup.sh
- 運(yùn)行./pico_setup.sh
- 這個(gè)腳本做的基本上和上面Windows安裝包的事情差不多。
- Linux環(huán)境手工安裝:
- 手工安裝稍微有點(diǎn)費(fèi)時(shí)間,可以參考getting-started-with-pico.pdf的2.1配置SDK、2.2安裝工具鏈,注意Ubuntu自帶的沒有ARM提供的新。
- 按照5.1下載OpenOCD并編譯
- 按照6.2安裝GDB
- 按照7.1安裝VSCode
- VSCode的settings.json和launch.json
- settings.json
{
// These settings tweaks to the cmake plugin will ensure
// that you debug using cortex-debug instead of trying to launch
// a Pico binary on the host
"cmake.statusbar.advanced": {
"debug": {
"visibility": "hidden"
},
"launch": {
"visibility": "hidden"
},
"build": {
//"visibility": "hidden"
},
"buildTarget": {
//"visibility": "hidden"
}
},
"cmake.buildBeforeRun": true,
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}
- launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Pico Debug",
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
//"gdbPath" : "gdb-multiarch",//如果是Ubuntu apt安裝的就是這個(gè)
"gdbPath" : "arm-none-eabi-gdb",//如果是從ARM下載的GCC工具鏈,就是這個(gè)
"device": "RP2040",
"configFiles": [
"interface/jlink.cfg",//使用jlink配置文件,配置文件下面會有說明
"target/rp2040.cfg"
],
"svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd",
"runToEntryPoint": "main",
// Work around for stopping at main on restart
"postRestartCommands": [
"break main",
"continue"
],
"showDevDebugOutput": "raw",
}
]
}
- 配置調(diào)試器
我試過了四種調(diào)試器
- Jlink和JlinkOB,Windows下面請用USB驅(qū)動(dòng)工具,將JLink的驅(qū)動(dòng)改為WinUSB,要不然OpenOCD不認(rèn)識。
配置文件要確認(rèn)是SWD:
transport select swd
adapter speed 1000
- CMSIS DAP Link,需要更新固件到2.1,1.x的不支持multidrop。
- FT2232H,網(wǎng)上一百出頭那個(gè),配置文件用這個(gè):
新建一個(gè)ft2232h-swd.cfg放在%localappdata%\VisualGDB\EmbeddedDebugPackages\com.sysprogs.arm.openocd\share\openocd\scripts\interface\ftdi
adapter driver ftdi
ftdi vid_pid 0x0403 0x6010
ftdi channel 1
ftdi layout_init 0x0008 0x000b
ftdi layout_signal SWD_EN -data 0
transport select swd
adapter speed 3000
- Linux下面如果找不到調(diào)試器,那么需要配一下udev規(guī)則
- 首先lsusb找到你的調(diào)試器,記下VID、PID
- 在/etc/udev/rules.d下面新建一個(gè)對應(yīng)的規(guī)則文件,比如就叫90-ft2232.rules,內(nèi)容如下:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", GROUP="skogkatt", MODE="0666"
其中用戶組什么的改成你自己的 - sudo udevadm control --reload或者重啟生效
- Jlink和JlinkOB,Windows下面請用USB驅(qū)動(dòng)工具,將JLink的驅(qū)動(dòng)改為WinUSB,要不然OpenOCD不認(rèn)識。



浙公網(wǎng)安備 33010602011771號