Raspberry Pi Pico SDK(以下简称SDK)提供为基于RP2040的设备(如C,C++或汇编语言的Raspberry Pi Pico)编写程序所需的标头,库和构建系统。
该 SDK 旨在提供非嵌入式 C 开发人员和嵌入式 C 开发人员都熟悉的 API 和编程环境。单个程序一次在设备上运行,并从常规方法开始。支持标准 C/C++ 库以及 C 级库/API,用于访问 RP2040 的所有硬件,包括 PIO(可编程 IO)。
main()
此外,SDK还提供了更高级别的库,用于处理计时器,同步,USB(TinyUSB)和多核编程以及各种实用程序。
SDK可用于构建任何东西,从简单的应用程序到成熟的运行时环境(如MicroPython),再到低级软件(如RP2040的片上bootrom本身)。
其他尚未准备好包含在 SDK 中的库/API 可以在 pico-extras 中找到。
有关如何设置硬件、IDE/环境以及如何为树莓派 Pico 和其他基于 RP2040 的设备构建和调试软件的信息,请参阅树莓派 Pico 入门。
请参阅 Raspberry Pi Pico C/C++ SDK,了解有关使用 SDK 进行编程的更多信息,探索更高级的功能,以及完整的基于 PDF 的 API 文档。
请参阅在线树莓派 Pico SDK API 文档,了解基于 HTML 的 API 文档。
有关可以构建的示例代码,请参阅 pico 示例。
这些说明非常简洁,并且仅基于Linux。有关其他平台的详细步骤,说明,以及一般情况下,我们建议你查看Raspberry Pi Pico C / C++ SDK
安装 CMake(至少 3.13 版)和 GCC 交叉编译器
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
将你的项目设置为指向使用树莓派 Pico SDK
通过在本地克隆 SDK(最常见):
git clone这个树莓派笔克SDK存储库
将pico_sdk_import.cmake 从 SDK 复制到项目目录中
设置为环境中的 SDK 位置,或稍后将其传递 () 到 cmake。
PICO_SDK_PATH
-DPICO_SDK_PATH=
设置赞:
CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
# initialize the SDK based on PICO_SDK_PATH
# note: this must happen before project()
include(pico_sdk_import.cmake)
project(my_project)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()
# rest of your project
或者使用Raspberry Pi Pico SDK作为子模块:
将 SDK 克隆为名为
pico-sdk
设置赞:
CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
# initialize pico-sdk from submodule
# note: this must happen before project()
include(pico-sdk/pico_sdk_init.cmake)
project(my_project)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()
# rest of your project
或者从 GitHub 自动下载:
将pico_sdk_import.cmake 从 SDK 复制到项目目录中
设置赞:
CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
# initialize pico-sdk from GIT
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_FETCH_FROM_GIT on)
# pico_sdk_import.cmake is a single file copied from this SDK
# note: this must happen before project()
include(pico_sdk_import.cmake)
project(my_project)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()
# rest of your project
或者通过在本地克隆 SDK,但不复制 :
pico_sdk_import.cmake
git clone这个树莓派笔克SDK存储库
设置赞:
CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
# initialize the SDK directly
include(/path/to/pico-sdk/pico_sdk_init.cmake)
project(my_project)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()
# rest of your project
编写代码(有关详细信息,请参阅 pico 示例或 Raspberry Pi Pico C/C++ SDK 文档)
你可以做的最简单的是单个源文件(例如hello_world.c)
#include <stdio.h>
#include "pico/stdlib.h"
int main() {
setup_default_uart();
printf("Hello, world!\n");
return 0;
}
并将以下内容添加到你的:
CMakeLists.txt
add_executable(hello_world
hello_world.c
)
# Add pico_stdlib library which aggregates commonly used features
target_link_libraries(hello_world pico_stdlib)
# create map/bin/hex/uf2 file in addition to ELF.
pico_add_extra_outputs(hello_world)
请注意,此示例对标准输出使用默认的 UART;如果要使用默认 USB,请参阅 hello-usb 示例。
设置 CMake 生成目录。例如,如果不使用 IDE:
$ mkdir build $ cd build $ cmake ..
从你创建的构建目录中创建目标。
$ make hello_world
你现在必须通过调试器加载,或者可以通过拖放在Raspberry Pi Pico上安装和运行。
hello_world.elf
hello_world.uf2