🚀 ✈️ 🚗 🚲

本机系统为 Ubuntu 2022.04

1
2
linkk@linkk-Ubuntu22:/$ uname -a
Linux linkk-Ubuntu22 5.15.0-52-generic #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

🚀 安装CMake

1
2
sudo apt-get install cmake
cmake --version # 查看版本

==如果版本低于3.12.0则需要更新cmake(通过cmake源码编译升级)==

🚀 下载代码仓库

1
2
3
4
5
6
7
8
mkdir -p ~/workspace/raspberry_pi_pico
cd ~/workspace/raspberry_pi_pico
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk/
git submodule update --init
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git
git clone -b master https://github.com/raspberrypi/pico-extras.git

==注意git submodule update —init一定要执行,因为pico-sdk里面要用到tinyUSB,否则sdk里面的USB功能就都无法使用==

这时候该路径下一共有四个文件夹。其中最重要的两个仓库,一个是 pico-sdk ,一个是 pico-examples 。其他仓库都是一些高级应用。

1
2
linkk@linkk-Ubuntu22:~/workspace/raspberry_pi_pico$ ls
pico-examples pico-extras pico-playground pico-sdk

🚀 安装交叉编译工具链

✈️ 下载交叉编译工具链

1
2
3
4
5
6
7
cd ~/workspace/raspberry_pi_pico
mkdir toolchain
cd toolchain
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
tar vxf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
rm gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
mv gcc-arm-none-eabi-10.3-2021.10/ gcc-arm-none-eabi

其他系统的交叉编译器可以在这进行查找下载:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

可以进入 bin 文件夹查看一下交叉编译器的版本,确保工具链可以正常使用

1
2
cd ~/workspace/raspberry_pi_pico/toolchain/gcc-arm-none-eabi/bin
./arm-none-eabi-gcc -v

✈️ 设置环境变量

打开 ~/.bashrc ,在文件最后面添加下面两行语句(需根据交叉编译器的存放路径进行修改)

1
2
export PICO_SDK_PATH="~/workspace/raspberry_pi_pico/pico-sdk"
export PICO_TOOLCHAIN_PATH="~/workspace/raspberry_pi_pico/toolchain/gcc-arm-none-eabi"

设置完成后==重新打开==一个终端,输入

1
env | grep PICO

如果能看到如下内容说明设置成功

1
2
PICO_SDK_PATH=~/workspace/raspberry_pi_pico/pico-sdk
PICO_TOOLCHAIN_PATH=~/workspace/raspberry_pi_pico/toolchain/gcc-arm-none-eabi

✈️ 安装g++

1
2
sudo apt-get install g++
g++ --version

🚀 参考资料

Raspberry-Pi-PICO系列—第三篇 开发环境搭建-Ubuntu系统