树莓派 Pico Clion开发

准备

在这里插入图片描述

GNU工具链包括了 LD、GCC、G++等交叉编译连接工具

下载完成后下一步下一步安装就可以,注意一下安装路径。

在这里插入图片描述
下载后解压,例如我的解压目录为D:\pico\pico-sdk
在这里插入图片描述

MinGW工具链(含Cmake、Make、GDB)在2021版本的Clion中默认已经安装,不需要我们再安装配置。

编译连接环境设置

创建C项目

在这里插入图片描述
创建新的编译工具链

在这里插入图片描述

命名一下新的工具链名称,我这里使用MinGW STM32

选择C ComplierC++ 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-sdkpico_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)
  1. project 行前增加include(pico_sdk_import.cmake) 导入PICO的SDK。
  2. Project中增加 CXX ASM,这因为SDK需要使用C++和汇编。
  3. 初始化SDKpico_sdk_init
  4. 可执行程序链接上pico_stdlib库。
  5. 添加额外输出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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值