Linux编译树莓派Pico示例
本教程演示在Ubuntu下编译树莓派Pico 1/Pico 2官方C/C++示例。
1. 安装环境
- Ubuntu 22.04
- pico-sdk
- picotool
- pico-examples
安装基础开发环境:
$ sudo apt install build-essential flex bc gawk texinfo file liblz4-dev ssh git libssl-dev libncurses-dev cmake
安装工具链:
$ sudo apt install gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib pkg-config libusb-1.0-0-dev
2. 下载源码
$ mkdir -p ~/pico $ cd ~/pico $ git clone https://github.com/raspberrypi/pico-sdk.git $ git clone https://github.com/raspberrypi/picotool.git $ git clone https://github.com/raspberrypi/pico-examples.git
Check出pico-sdk的依赖:
$ cd ~/pico/pico-sdk
$ git submodule update --init
上述命令会下载以下文件(约266MB):
~/pico/pico-sdk/lib/ ├── btstack ├── cyw43-driver ├── lwip ├── mbedtls └── tinyusb
3. 编译安装picotool
声明sdk路径:
$ export PICO_SDK_PATH=$HOME/pico/pico-sdk/
每次重启终端,编译之前都要运行这个,如果嫌麻烦,可以把这条命令加入到'~/.bashrc'的末尾,然后重启终端。
$ cd ~/pico/picotool/ $ mkdir build $ cd build/ $ cmake .. $ make -j4 $ sudo make install
它将会安装picotool及相关文件到/usr目录下。
4. 编译pico-examples
$ cd ~/pico/pico-examples/ $ mkdir build $ cd build
构建raspberry pi pico 1:
$ cmake ..
或者,构建raspberry pi pico 2:
$ cmake .. -DPICO_BOARD=pico2
可选:pico、pico_w、pico2、pico2_w等。
如果要编译示例:
$ cd ~/pico/pico-examples/build/ $ make -j4
也可以单独编译其中的一个,比如blink:
$ cd ~/pico/pico-examples/build/blink/ $ make -j4
我们以blink为例,编译后目录如下:
$ cd ~/pico/pico-examples/build/blink/ $ ls CMakeFiles Makefile blink.bin blink.dis blink.elf blink.elf.map blink.hex blink.uf2 cmake_install.cmake
查看一下文件架构:
$ file blink.elf blink.elf: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, with debug_info, not stripped
可知,是32位ARM架构,小端模式。
我们把树莓派pico1或pico2以大容量usb的方式连接电脑(按着boot键同时插入usb),把'blink.uf2'拖进pico的存储空间,一般就开始运行了(出现问题就重新上电试试)。

浙公网安备 33010602011771号