固件开发
GP2040-CE 是用 C++ 编写的,并设置为标准的 Pico SDK 项目。
参考 树莓派 Pico 入门指南。
环境设置
以下内容大部分是复述上面链接的树莓派基金会 PDF。
- Windows (Pico SDK)
- Windows (Manual)
- Linux
- macOS
- 下载并安装 NodeJS
- 下载并安装 Python 3.x
- 在安装过程中,勾选 "Add python.exe to PATH"
- 运行以下命令安装 virtualenv
pip install virtualenv - 下载并安装一个 git 客户端 git for windows 或 GitHub Desktop
- 下载并安装 VS Code
- 运行 VS Code
- 转到 Extensions,搜索并安装 "Raspberry Pi Pico" 插件
- 转到插件的 Settings,将 "Raspberry-pi-pico: Python3 Path" 设置为你在步骤 2 中安装的版本的路径
- 重启 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"
- 测试构建项目
- 进入 Cmake 并展开 PROJECT OUTLINE
- 点击 Build All Projects 并从 Kits 列表中选择 Pico
-
安装最新的 Arm GNU Toolchain
-
安装最新版本的 CMake
-
安装 Visual Studio Build tools,或完整的 Visual Studio Community Edition IDE
- 确保勾选“使用 C++ 进行桌面开发”工作负载
- 从单个组件中选择最新的 Windows 10 或 Windows 11 SDK
-
安装 Python 3.10
- 在安装末尾,有一个选项可以禁用最大文件路径长度。请选择此项。
-
安装 Visual Studio Code - 可选
-
安装 git
- 将默认编辑器设置为 VIM 以外的任何东西,如 Visual Studio Code
-
安装 NodeJS 和 NPM
-
将 Pico SDK 克隆到本地计算机
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd .. -
从命令提示符克隆 GP2040-CE 到本地计算机
git clone https://github.com/OpenStickCommunity/GP2040-CE.git
cd GP2040-CE
Ubuntu
此设置假定了解 Linux 终端的使用。
-
获取 SDK
cd ~/
mkdir pico
cd pico
git clone https://github.com/raspberrypi/pico-sdk.git --branch master
cd pico-sdk
git submodule update --init
cd .. -
安装工具链
sudo apt update
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential- 可能还需要安装
libstdc++-arm-none-eabi-newlib
- 可能还需要安装
-
安装 NodeJS 和 NPM
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs -
获取 GP2040-CE
git clone https://github.com/OpenStickCommunity/GP2040-CE.git
cd GP2040-CE
git submodule update --init
树莓派
此设置脚本需要大约 2.5GB 的 SD 卡磁盘空间。
-
下载设置脚本
wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh -
让脚本可执行并运行它。
chmod +x pico_setup.sh -
安装 NodeJS 和 NPM
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs -
重启你的 Pi
sudo reboot -
获取 GP2040-CE
git clone https://github.com/OpenStickCommunity/GP2040-CE.git
cd GP2040-CE
git submodule update --init
此设置假定了解 macOS 终端的使用。 我们将使用 Homebrew 和 nvm(Node 版本管理器)来安装所需工具。
-
安装 Homebrew
-
使用 Homebrew 安装所需工具:
brew install cmake
brew install picotool -
安装 Node.js
-
克隆 Pico SDK:
cd ~/
mkdir pico
cd pico
git clone https://github.com/raspberrypi/pico-sdk.git --branch master
cd pico-sdk
git submodule update --init
cd .. -
获取 GP2040-CE:
git clone https://github.com/OpenStickCommunity/GP2040-CE.git
cd GP2040-CE
git submodule update --init
构建
环境变量
设置了一些新的环境变量来控制构建流程的各个部分。
| 名称 | 默认值 | 描述 |
|---|---|---|
| GP2040_BOARDCONFIG | Pico | 构建时使用的 boards.h 配置文件。 |
| SKIP_WEBBUILD | FALSE | 确定在 cmake 配置步骤中是否构建网页配置器。 |
| SKIP_SUBMODULES | FALSE | 确定在 cmake 配置步骤中是否自动运行子模块初始化命令。 |
SDK 变量
我们利用了一些 SDK 变量来进行构建。
| 名称 | 默认值 | 描述 |
|---|---|---|
| PICO_BOARD | pico | 这是 RP2040 芯片所属的嵌入式板。默认情况下,它假设是 Pico。此变量应与板配置文件夹中的 <boardname.h> 文件匹配。 |
- Windows (Pico SDK)
- Windows (Manual)
- Linux
- macOS
安装树莓派 Pico SDK 后,你应该有一个 "Pico-Visual Studio Code" 的快捷方式(使用 Windows 搜索)。这个快捷方式应该已经配置好,允许你跳到步骤 7。如果遇到编译问题,可以考虑按照这里的手动步骤进行。
确保设置 PICO_SDK_PATH 环境变量:
- 在 Windows 中搜索 "Edit environment variables for your account"。
- 在 "用户变量" 下,点击 "新建..."。
- 在出现的对话框中,输入
PICO_SDK_PATH作为变量名。 - 点击 "浏览目录" 并导航到
C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-sdk作为变量值。 - 创建另一个新变量。
- 输入
GP2040_BOARDCONFIG作为变量名。 - 输入
Pico(或你编辑的配置文件夹的名称)作为变量值。
你也可以在 VSCode 中设置变量:
- 按
Ctrl + ,打开设置。 - 使用搜索栏找到 "CMake"。
- 滚动直到看到 "CMake: Configure Environment"。
- 点击 "Add Item"。
- 键:
GP2040_BOARDCONFIG - 值:
Pico(或你的工作文件夹名称)。
当被提示时,为 "Select a kit for GP2040-CE" 选择 GCC 10.3.1 ARM NONE EABI
在 VSCode 内:
- 点击 VSCode 左侧栏的 CMake 图标。
- 在 CMake 项目概览的右上角,你会看到三个图标。点击 "Configure All Projects" 图标(看起来像一个带箭头的页面)。
- 等待配置过程完成。如果进度不可见,点击 "Terminal" 菜单,然后 "New Terminal" 打开一个新的终端。新终端窗口将在底部打开,导航到 "Output" 标签。
- 点击 CMake 项目概览中的 "Build All Projects"。
- 文件应该在 GP2040-CE 文件夹中的新 "build" 文件夹里。
从 GP2040-CE 文件夹开始。从开发者 Powershell 或开发者命令提示符:
设置环境变量后需要一个新的 Powershell 或命令提示符会话。
-
确保你设置了
PICO_SDK_PATH环境变量到你的 pico-sdk 文件夹路径。 -
(可选)设置
GP2040_BOARDCONFIG环境变量到你的板配置文件夹名称。- 默认值是
Pico
- 默认值是
-
创建构建目录,配置构建并执行构建。
mkdir build
cd build
cmake -G "NMake Makefiles" ..
nmake -
你的 UF2 文件应该在构建目录中。
从 GP2040-CE 文件夹开始
-
确保你设置了
PICO_SDK_PATH环境变量到你的 pico-sdk 文件夹路径。 -
(可选)设置
GP2040_BOARDCONFIG环境变量到你的板配置文件夹名称。- 默认值是
Pico
- 默认值是
-
创建构建目录,配置构建并执行构建。
mkdir build
cd build
cmake ..
make -
你的 UF2 文件应该在构建目录中。
从 GP2040-CE 文件夹开始
-
确保你设置了
PICO_SDK_PATH环境变量到你的 pico-sdk 文件夹路径:export PICO_SDK_PATH=~/pico/pico-sdk -
(可选)设置
GP2040_BOARDCONFIG环 境变量到你的板配置文件夹名称:export GP2040_BOARDCONFIG=Pico- 默认值是
Pico
- 默认值是
-
创建构建目录,配置构建并执行构建:
mkdir build
cd build
cmake ..
make