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。