Raspberry Pi pico SDK(此后SDK)为编写基于RP系列微控制器的设备(例如Raspberry Pi pico或Raspberry PICO或Raspberry Pi Pico 2)提供了必要的标题,库和构建系统,C ++或C ++或组装语言。
SDK旨在提供一个API和编程环境,这些环境既适用于非安装的C开发人员和嵌入式C开发人员。一个程序一次在设备上运行,并从常规的main()
方法开始。支持标准的C/C ++库以及C级库/API,用于访问所有RP系列微控制器的硬件,包括PIO(可编程IO)。
此外,SDK还提供了更高级别的库,用于处理计时器,同步,Wi-Fi和蓝牙网络,USB和多项编程。这些库应足够全面,以至于您的应用程序代码很少(如果有的话)需要直接访问硬件寄存器。但是,如果您确实需要或更喜欢访问RAW硬件寄存器,则还将在SDK中找到完整且完全注册的寄存器定义标头。无需在数据表中查找地址。
SDK可用于构建从简单的应用程序(如Micropython)到低级软件(例如RP系列Microcontroller的芯片启动本身)等低级软件。
整个SDK的设计目标是简单但功能强大。
可以在PICO-Extras中找到尚未准备好包含在SDK中的其他库/API。
有关如何设置硬件,IDE/环境以及如何为Raspberry Pi Pico和其他基于RP-Series MicroController设备构建和调试软件的信息,请参见Raspberry Pi Pico系列入门。
请参阅使用Raspberry pi pico W连接到Internet,以了解有关您连接到Internet的Raspberry Pi pico W编写应用程序的更多信息。
请参阅Raspberry Pi Pico系列C/C ++ SDK,以了解有关使用SDK编程的更多信息,以探索更高级的功能,以及完整的基于PDF的API文档。
有关基于HTML的API文档,请参见在线Raspberry Pi Pio SDK API文档。
请参阅Pico-examples有关您可以构建的示例代码。
GitHub上pico-sdk
的主分支包含SDK的最新稳定版本。如果您需要或想测试即将到来的功能,则可以尝试开发分支。
您可以在VS代码中安装Raspberry Pi Pico Visual Studio代码扩展。
这些说明非常简短,仅基于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
设置您的项目以指向使用Raspberry Pi Pico SDK
通过在本地克隆SDK(最常见):
git clone
这个覆盆子pi pico sdk存储库
复制从SDK复制pico_sdk_import.cmake到您的项目目录
将PICO_SDK_PATH
设置为环境中的SDK位置,或将其传递( -DPICO_SDK_PATH=
)以稍后cmake。
设置CMakeLists.txt
类似:
cmake_minimum_required ( VERSION 3.13...3.27)
# 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
或以覆盆子pi pico sdk作为子模块:
克隆SDK作为称为pico-sdk
的子模块
设置CMakeLists.txt
类似:
cmake_minimum_required ( VERSION 3.13...3.27)
# 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自动下载:
复制从SDK复制pico_sdk_import.cmake到您的项目目录
设置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
这个覆盆子pi pico 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-evimples或Raspberry Pi Pico系列C/C ++ SDK文档以获取更多信息)
关于您可以做的最简单是一个源文件(例如Hello_world.c)
#include <stdio.h>
#include "pico/stdlib.h"
int main () {
stdio_init_all ();
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进行Stdout ;如果要使用默认的USB,请参见Hello-USB示例。
设置CMAKE BUILD目录。例如,如果不使用IDE:
$ mkdir build
$ cd build
$ cmake ..
在为Raspberry Pi Pico以外的其他板上构建时,您应该通过-DPICO_BOARD=board_name
到上面的cmake
命令,例如cmake -DPICO_BOARD=pico2 ..
或cmake -DPICO_BOARD=pico_w ..
那个特定的董事会。
指定PICO_BOARD=<booardname>
设置各种编译器定义(例如,UART和其他硬件的默认PIN号码),在某些情况下,还可以使用其他库(例如,在PICO_BOARD=pico_w
构建时无线支持),这些库无法在没有建立的情况下构建提供必要的硬件功能的董事会。
有关SDK本身定义的董事会列表,请在此目录中查看每个命名板的标题。
从您创建的构建目录中实现目标。
$ make hello_world
现在,您可以使用hello_world.elf
通过调试器或hello_world.uf2
加载,该调试器可以通过拖放安装并在Raspberry Pi Pico系列设备上运行并运行。
有关在RP2350上为RISC-V设置构建环境的信息,请参见Raspberry Pi PIO系列C/C ++ SDK。