树莓派 Pico Clion开发
准备
- 交叉编译工具链 ARM GNU:下载页面

GNU工具链包括了 LD、GCC、G++等交叉编译连接工具
下载完成后下一步下一步安装就可以,注意一下安装路径。
- 树莓派Pico SDK下载: Pico SDK github项目首页

下载后解压,例如我的解压目录为D:\pico\pico-sdk

MinGW工具链(含Cmake、Make、GDB)在2021版本的Clion中默认已经安装,不需要我们再安装配置。
编译连接环境设置
创建C项目

创建新的编译工具链

命名一下新的工具链名称,我这里使用MinGW STM32。
选择C Complier 和 C++ Complier 为之前安装的ARM GNU工具链中的GCC和G++

Make与GDB保持不变,这里我们只是用Clion编译连接代码,不用Clion Debug所以GDB用不到。
选择 Cmake,修改 Cmake DEBUG配置,Toolchain选择之前创建的 MinGW STM32。

Generator选择 MinGW Makefile

配置PICO SDK的环境变量

变量名为 PICO_SDK_PATH,值为我们之前解压的SDK的绝对路径(我的是 D:\pico\pico-sdk)

完成后点击Apply并OK。
CMakeLists.txt
找到 pico-sdk 中pico_sdk_import.cmake 文件,复制到项目根目录


修改 CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.21)
# initialize the SDK based on PICO_SDK_PATH
# note: this must happen before project()
include(pico_sdk_import.cmake)
project(picoled C CXX ASM)
set(CMAKE_C_STANDARD 11)
# Initialize the SDK
pico_sdk_init()
add_executable(picoled main.c)
target_link_libraries(picoled pico_stdlib)
# create map/bin/hex/uf2 file in addition to ELF.
pico_add_extra_outputs(picoled)
- 在
project行前增加include(pico_sdk_import.cmake)导入PICO的SDK。 - Project中增加
CXX ASM,这因为SDK需要使用C++和汇编。 - 初始化SDK
pico_sdk_init。 - 可执行程序链接上
pico_stdlib库。 - 添加额外输出
pico_add_extra_outputs,用于生成PICO的可执行文件,否则只有DEBUG的.efl文件。
完成后删除原有cmake-build-debug-stm32文件夹

重新加载。

重新加载后可以看见,项目目录中增加了pico-sdk,在CMake的提示消息中出现了一个警告,这里我们可以忽略该警告。

LED Demo
进入main.c 文件编写LED闪烁的程序如下:
#include "pico/stdlib.h"
int main() {
const uint LED_PIN = PICO_DEFAULT_LED_PIN;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true){
gpio_put(LED_PIN, 1);
sleep_ms(500);
gpio_put(LED_PIN, 0);
sleep_ms(500);
}
}
上面程序就是使用PICO上的LED等500ms闪烁一次,完成后我们点击编译。

可以在cmake-build-debug-stm32目录中找到该可执行文件picoled.uf2。
picoled.elf需要DEBUG调试启动

运行
先按住 PICO Pi 的BOOTSEL按键不放,然后插上USB。

在PC上弹出一个127M大小新的磁盘。

打开该磁盘,将上一步编译可执行文件picoled.uf2 放入该磁盘中。
若程序正常,复制成功后该磁盘将会断开连接,Pico Pi将会自动重启执行我们的程序。
参考文献
[1]. 树莓派 pico中文站 . https://pico.org.cn/
[2]. github . raspberrypi . pico-sdk . https://github.com/raspberrypi/pico-sdk
[3]. csdn . 人类高质量码农. . RaspberryPi Pico CLion开发环境配置 . https://blog.csdn.net/m0_53777801/article/details/112982045
更多推荐
所有评论(0)