跳到主要内容

固件开发

GP2040-CE 是用 C++ 编写的,并设置为标准的 Pico SDK 项目。

参考 树莓派 Pico 入门指南

环境设置

以下内容大部分是复述上面链接的树莓派基金会 PDF。

  1. 下载并安装 NodeJS
  2. 下载并安装 Python 3.x
    • 在安装过程中,勾选 "Add python.exe to PATH"
    • 运行以下命令安装 virtualenv
    pip install virtualenv
  3. 下载并安装一个 git 客户端 git for windowsGitHub Desktop
  4. 下载并安装 VS Code
  5. 运行 VS Code
    • 转到 Extensions,搜索并安装 "Raspberry Pi Pico" 插件
    • 转到插件的 Settings,将 "Raspberry-pi-pico: Python3 Path" 设置为你在步骤 2 中安装的版本的路径
  6. 重启 VS Code
    • 选择 Open Folder,导航到你克隆了代码库的 gp2040-ce 路径
    • 确认提示 "Do you want to import this project as a Raspberry Pi Pico project?"
    • 选择 Pico SDK 版本 "v2.1.1"
    • 在 CMake Tool 下勾选 "Enable CMake-Tools extension integration"
  7. 测试构建项目
    • 进入 Cmake 并展开 PROJECT OUTLINE
    • 点击 Build All Projects 并从 Kits 列表中选择 Pico

构建

环境变量

设置了一些新的环境变量来控制构建流程的各个部分。

名称默认值描述
GP2040_BOARDCONFIGPico构建时使用的 boards.h 配置文件。
SKIP_WEBBUILDFALSE确定在 cmake 配置步骤中是否构建网页配置器。
SKIP_SUBMODULESFALSE确定在 cmake 配置步骤中是否自动运行子模块初始化命令。

SDK 变量

我们利用了一些 SDK 变量来进行构建。

名称默认值描述
PICO_BOARDpico这是 RP2040 芯片所属的嵌入式板。默认情况下,它假设是 Pico。此变量应与板配置文件夹中的 <boardname.h> 文件匹配。

安装树莓派 Pico SDK 后,你应该有一个 "Pico-Visual Studio Code" 的快捷方式(使用 Windows 搜索)。这个快捷方式应该已经配置好,允许你跳到步骤 7。如果遇到编译问题,可以考虑按照这里的手动步骤进行。

确保设置 PICO_SDK_PATH 环境变量:

  1. 在 Windows 中搜索 "Edit environment variables for your account"。
  2. 在 "用户变量" 下,点击 "新建..."。
  3. 在出现的对话框中,输入 PICO_SDK_PATH 作为变量名。
  4. 点击 "浏览目录" 并导航到 C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-sdk 作为变量值。
  5. 创建另一个新变量。
  6. 输入 GP2040_BOARDCONFIG 作为变量名。
  7. 输入 Pico(或你编辑的配置文件夹的名称)作为变量值。

你也可以在 VSCode 中设置变量:

  1. Ctrl + , 打开设置。
  2. 使用搜索栏找到 "CMake"。
  3. 滚动直到看到 "CMake: Configure Environment"。
  4. 点击 "Add Item"。
  5. 键:GP2040_BOARDCONFIG
  6. 值:Pico(或你的工作文件夹名称)。

当被提示时,为 "Select a kit for GP2040-CE" 选择 GCC 10.3.1 ARM NONE EABI

在 VSCode 内:

  1. 点击 VSCode 左侧栏的 CMake 图标。
  2. 在 CMake 项目概览的右上角,你会看到三个图标。点击 "Configure All Projects" 图标(看起来像一个带箭头的页面)。
  3. 等待配置过程完成。如果进度不可见,点击 "Terminal" 菜单,然后 "New Terminal" 打开一个新的终端。新终端窗口将在底部打开,导航到 "Output" 标签。
  4. 点击 CMake 项目概览中的 "Build All Projects"。
  5. 文件应该在 GP2040-CE 文件夹中的新 "build" 文件夹里。