跳到主要内容

Raspberry Pi Pico C/C++ 开发入门教程

本教程将介绍如何使用 Pico VS Code 扩展进行 C/C++ 开发,并指导您配置基于 Pico SDK 的 C/C++ 开发环境。

重要提示:关于开发板的兼容性

本教程的核心逻辑适用于所有 RP 系列开发板,但所有操作步骤均以 Raspberry Pi Pico 2 为例进行讲解。如果您使用其他型号的开发板,请根据实际情况修改相应设置。

1. 什么是 Pico C/C++ 开发

Raspberry Pi Pico 的 C/C++ 开发基于官方的 Pico SDK,这是一套专为 RP2040 / RP2350 等 Pico 系列芯片设计的 C/C++ 软件开发工具包。Pico SDK 提供了丰富的 API 库,用于控制 GPIO、I2C、SPI、PWM、ADC 等外设,以及多核处理、定时器、DMA 等高级功能。

为了简化 C/C++ 开发环境的搭建和使用,Raspberry Pi 官方推出了 Pico VS Code 扩展。该扩展集成了以下功能:

  • 一键安装:自动安装和管理 Pico SDK、CMake、编译工具链等开发依赖
  • 工程管理:通过图形化向导快速创建、导入和配置 C/C++ 工程
  • 编译构建:集成 CMake 和 Ninja 构建系统,一键编译生成 UF2 固件
  • 烧录调试:支持 UF2 固件烧录,并可通过 OpenOCD 实现断点调试、单步执行和变量查看
  • 跨平台支持:在 Windows、macOS 和 Linux 上提供统一的开发体验
适用范围
  • 本教程适用于树莓派 Pico、Pico 2 与微雪电子开发的所有 RP 系列开发板
  • 安装教程默认以 Windows 11 为例,其他操作系统请参考 树莓派官方教程

2. 安装 Visual Studio Code 编辑器

  1. 下载并安装 Visual Studio Code

  2. 安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。

    提示

    如果已安装 VS Code,注意检查版本是否为 v1.87.0 或更高版本

3. 安装 Pico 扩展

  1. 点击扩展,选择从 VSIX 安装

  2. 选择 vsix 后缀的软件包,点击安装

  3. 随后 VS Code 会自动安装 raspberry-pi-pico 及其依赖扩展,可以点击刷新查看安装进度

  4. 右下角显示完成安装,关闭 VS Code

  5. 离线包中的扩展版本为 0.15.2,安装完成后,更新至最新版本

4. 配置 C/C++ 开发环境

  1. 打开目录 C:\Users\用户名,将整个 .pico-sdk 拷贝至该目录

  2. 拷贝完成

  3. 打开 VS Code,对 Raspberry Pi Pico 扩展中各个路径进行配置

    配置如下:

    Cmake Path:
    ${HOME}/.pico-sdk/cmake/v3.28.6/bin/cmake.exe

    Git Path:
    ${HOME}/.pico-sdk/git/cmd/git.exe

    Ninja Path:
    ${HOME}/.pico-sdk/ninja/v1.12.1/ninja.exe

    Python3 Path:
    ${HOME}/.pico-sdk/python/3.12.1/python.exe

5. 创建 C/C++ 工程

  1. 配置完成后,可以创建一个新工程进行测试。输入工程名称、选择保存路径,然后点击 Create 创建工程。如需使用官方示例代码,可以点击工程名旁的 Example 进行选择

  2. 成功创建工程

6. 编译 C/C++ 工程

  1. 首次编译时,需要选择 Pico SDK 版本

  2. 选择 Yes 进行高级配置

  3. 选择交叉编译工具链:

    • 13.2.Rel1:适用于 ARM 核心(Pico、Pico W 等)
    • RISCV.13.3:适用于 RISC-V 核心(Pico 2 的 RISC-V 模式)

    根据您的开发板和需求选择对应的工具链

  4. CMake 版本选择 Default(使用前面配置的路径)

  5. Ninja 构建工具版本选择 Default

  6. 选择开发板

  7. 配置完成后,点击 Compile 按钮开始编译

  8. 编译成功后,会在工程的 build 目录下生成 .uf2 格式的固件文件

7. 烧录固件

提供两种方法将编译好的固件烧录到开发板:

  1. 使用 Pico VS Code 插件烧录

    将开发板通过 USB 连接到电脑,然后点击 Run 按钮直接烧录固件

  2. 手动烧录固件

    1. 按住开发板上的 BOOTSEL 按键
    2. 将开发板通过 USB 连接到电脑
    3. 电脑会将开发板识别为一个 U 盘设备
    4. 将 uf2 格式的固件文件拖拽到 U 盘中
    5. 设备会自动重启,完成固件烧录

8. 导入 C/C++ 工程

  1. 在 Pico VS Code 插件中选择导入工程,然后选择工程所在的目录

  2. 注意事项:导入的工程中,CMakeLists.txt 文件不能包含中文(包括注释),否则可能导致导入失败

  3. 开发板配置:导入工程后,需要检查 CMakeLists.txt 文件是否包含开发板配置代码。只有包含以下配置,才能正常切换 Pico 和 Pico 2:

    set(PICO_BOARD pico2 CACHE STRING "Board type")
    提示

    如果 CMakeLists.txt 中没有此配置,即使在 VS Code 中选择了 Pico 2,编译出的固件仍然是针对 Pico 的

9. 参考链接