前言
树莓派Pico被广泛用于各种DIY场景,多数情况下,通常使用MicroPython或者Arduino SDK开发,对于原生的Pico SDK方案,因为配置复杂,相关资料相对前两种方案较少,但在特定情况下,Pico SDK性能更高
而本篇文章将介绍如何配置Pico SDK
实际上VScode上有官方Pico SDK插件,安装后即可一键搭建Pico SDK开发环境,更多信息可以查看插件信息。
但本文将讲解如何手动搭建Pico SDK开发环境
搭建过程
以下是Pico SDK开发环境的整体架构:
其中,Pico SDK本身提供程序所需的头文件和库arm gcc负责把我们编写的C/C++源码编译为可执行程序CMake(及ninja)负责执行相关编译指令,组织项目
Pico SDK
Pico SDK本身是头文件和库,直接从GitHub下载即可:
可以通过下载.zip压缩包,或直接执行git clone命令
https://github.com/raspberrypi/pico-sdk.gitpicotool
picotool用于管理pico信息,以及参与uf2生成
从Pico SDK tools中选择picotool,下载并添加到环境变量
arm gcc
从arm gcc官网下载就可以了,下载后,可以选择添加到环境变量,也可以选择不添加,在后续CMakeList中添加
注:任何其他支持arm-none-eabi的编译器也可以
CMake
从CMake官网下载合适的版本并安装
从Ninja releases下载合适版本并添加到环境变量
VScode项目配置
至此,需要安装的软件环境就结束了,接下来配置VScode项目,首先下载C/C++插件,这样就会有C/C++的语言解析
再下载CMake Tools插件,这样可以方便管理CMake项目
然后在CMake配置中选择arm gcc编译:
然后就可以正式编辑Pico项目了,本质上编写一个CMakeLists.txt
cmake_minimum_required(VERSION 3.13...3.27) # 首先设置PICO_SDK_PATH环境变量 set(PICO_SDK_PATH D:\\ToolChain\\pico-sdk) # 加载pico_sdk_import.cmake,注意在project()之前运行 include(D:\\ToolChain\\pico-sdk\\external\\pico_sdk_import.cmake) # 初始化项目配置,这部分随个人配置 project(my_project) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # 初始化SDK pico_sdk_init() # 添加源文件与目录,这部分随个人配置 add_executable(main src/main.cpp ) target_include_directories(main PRIVATE src ) # 链接pico_stdlib库 target_link_libraries(main pico_stdlib ) # 进行pico相关配置,这里打开usb输出 pico_enable_stdio_usb(main 1) pico_enable_stdio_uart(main 0) # 明确生成uf2文件 pico_add_extra_outputs(main)本质上就是5步:
1.include(pico_sdk_import.cmake)
加载pico sdk的相关配置
2.执行 pico_sdk_init()
3.target_link_libraries(main pico_stdlib)
链接pico_stdlib库
4.通过CMake配置各种pico参数
pico_enable_*
5.pico_add_extra_outputs(main)
生成uf2文件
我的目录配置如下:
构建输出: