MacOS 下 pico/pico2 学习笔记

1.安装开发工具

  • cmake
sh 复制代码
brew install cmake
  • openocd
sh 复制代码
brew install openocd
  • arm-none-eabi-gcc

用 brew 安装的版本会出现如下错误:

sh 复制代码
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory

用 arm 官方的版本没有问题。

sh 复制代码
cd ~/Downloads
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi.tar.xz

cd /opt
sudo tar xf ~/Downloads/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi.tar.xz
  • arm-none-eabi-gdb
sh 复制代码
brew install arm-none-eabi-gdb
  • minicom
sh 复制代码
sudo apt install minicom

2. 安装 pico-sdk

sh 复制代码
mkdir -p ~/work/lab/pico
cd ~/work/lab/pico
git clone --recursive https://github.com/raspberrypi/pico-sdk.git
git clone --recursive https://github.com/raspberrypi/pico-examples.git

3.编译

build_rp2040.sh

sh 复制代码
cd pico-examples
rm -rf build_rp2040
mkdir -p build_rp2040
cd build_rp2040
export PICO_SDK_PATH="../../pico-sdk"
export PICO_TOOLCHAIN_PATH="/opt/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi/bin"
cmake ../ -DPICO_PLATFORM="rp2040" -DPICO_BOARD="pico" -DCMAKE_BUILD_TYPE=Debug
make -j4 

build_rp2350.sh

sh 复制代码
cd pico-examples
rm -rf build_rp2350
mkdir -p build_rp2350
cd build_rp2350
export PICO_SDK_PATH="../../pico-sdk"
export PICO_TOOLCHAIN_PATH="/opt/arm-gnu-toolchain-13.3.rel1-darwin-arm64-arm-none-eabi/bin"
cmake ../ -DPICO_PLATFORM="rp2350" -DPICO_BOARD="pico2" -DCMAKE_BUILD_TYPE=Debug
make -j4 

4. 烧录

  • 方法1

    按住按钮,插上电源。 会加载分区 /Volumes/RP2350,把固件拷贝到 /Volumes/RP2350。完成后,会自动重启。

RP2350换成实际的设备名称。

  • 方法2

使用 openocd 烧录。

upload.sh

sh 复制代码
PROGRAM=$1

if [ "$#" -eq 0 ]; then
  echo "$0 program"
  echo "ex: $0 ./pico-examples/build_rp2040/blink/blink.elf"
else  
  sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "program $PROGRAM verify reset exit"
fi

5. 调试

  • 启动 openocd
sh 复制代码
sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000"
  • 启动 gdb
sh 复制代码
arm-none-eabi-gdb pico-examples/build_rp2040/blink/blink.elf
target remote localhost:3333
monitor reset init
continue

sleep_us/sleep_ms在调试时会挂起,需要修改rp2040.cfg,只是用一个核心。

文件位置(视不同版本而定):~/.pico-sdk/openocd/0.12.0+dev/scripts/target/rp2040.cfg

复制代码
set _USE_CORE { 0 }

6. 串口调试

sh 复制代码
minicom -b 115200 -o -D /dev/tty.usbmodem1302

参考

相关推荐
maki0778 天前
虚幻版Pico大空间VR入门教程 05 —— 原点坐标和项目优化技巧整理
android·游戏引擎·vr·虚幻·pico·htc vive·大空间
maki0778 天前
VR大空间资料 01 —— 常用VR框架对比
android·ue5·游戏引擎·vr·虚幻·pico
maki0779 天前
VR大空间资料 02 —— 常用Body IK对比
android·游戏引擎·vr·虚幻·pico·ik
maki07710 天前
虚幻版Pico大空间VR入门教程 04 —— PicoOpenXR和PicoXR插件对于PDC串流、SteamVR串流、OpenXR串流对比 和 手势追踪对比
游戏引擎·vr·虚幻·pico·手势追踪·串流
maki07710 天前
虚幻版Pico大空间VR入门教程 03 —— PicoXR插件和PicoOpenXR插件的文档对比记录
游戏引擎·虚幻·pico
maki07710 天前
虚幻版Pico大空间VR入门教程 01 ——UE5 Android打包环境4.26~5.6
android·ue5·vr·虚幻·pico·大空间
maki07710 天前
虚幻版Pico大空间VR入门教程 02 —— Pico设备选择
游戏引擎·vr·虚幻·pico
foenix666 个月前
PicoVR眼镜在XR融合现实显示模式下无法显示粒子问题
android·unity·c#·xr·pico
Mr_Chenph6 个月前
Visual Studio Code 开发 树莓派 pico
vscode·c·micropython·pico
dzj20219 个月前
Unity发布android Pico报错——CommandInvokationFailure: Gradle build failed踩坑记录
android·unity·gradle·报错·pico