Raspberry Pi Pico SDK (따라서 SDK)는 RP-Series 마이크로 컨트롤러 기반 장치에 대한 프로그램을 작성하는 데 필요한 헤더, 라이브러리 및 빌드 시스템을 C, C ++ 또는 어셈블리 언어로 제공합니다.
SDK는 비 이완 된 C 개발자와 임베디드 C 개발자 모두에게 친숙한 API 및 프로그래밍 환경을 제공하도록 설계되었습니다. 단일 프로그램은 한 번에 장치에서 실행되며 기존 main()
메소드로 시작합니다. 표준 C/C ++ 라이브러리는 PIO (프로그래밍 가능 IO)를 포함한 모든 RP-Series 마이크로 컨트롤러의 하드웨어에 액세스하기위한 C 레벨 라이브러리/API와 함께 지원됩니다.
또한 SDK는 타이머, 동기화, Wi-Fi 및 Bluetooth 네트워킹, USB 및 멀티 코어 프로그래밍을 처리하기위한 더 높은 레벨 라이브러리를 제공합니다. 이 라이브러리는 응용 프로그램 코드가 거의 하드웨어 레지스터에 직접 액세스 할 필요가 없을 정도로 포괄적이어야합니다. 그러나 원시 하드웨어 레지스터에 액세스 할 필요가 있거나 선호되는 경우 SDK에서 완전하고 완전한 레지스터 정의 헤더를 찾을 수 있습니다. 데이터 시트에서 주소를 조회 할 필요가 없습니다.
SDK는 간단한 애플리케이션, 마이크로 파이썬과 같은 본격적인 런타임 환경에서 RP 시리즈 마이크로 컨트롤러의 온칩 부트롬과 같은 저수준 소프트웨어에 이르기까지 모든 것을 구축하는 데 사용될 수 있습니다.
전체 SDK의 디자인 목표는 단순하지만 강력합니다.
SDK에 아직 포함되지 않은 추가 라이브러리/API는 Pico-Extras에서 찾을 수 있습니다.
하드웨어, IDE/환경을 설정하는 방법 및 Raspberry Pi Pio 및 기타 RP 시리즈 마이크로 컨트롤러 기반 장치의 소프트웨어를 구축 및 디버그하는 방법에 대한 정보는 Raspberry Pi Pio 시로 시리즈를 시작하십시오.
인터넷에 연결되는 Raspberry Pi Pio W의 응용 프로그램 작성에 대해 자세히 알아 보려면 Raspberry Pi Pio W를 사용하여 인터넷에 연결하는 것을 참조하십시오.
SDK를 사용한 프로그래밍에 대해 자세히 알아 보려면 Raspberry Pi Pio-Series C/C ++ SDK를 참조하십시오.보다 고급 기능을 탐색하고 PDF 기반 API 문서를 완료하십시오.
HTML 기반 API 문서는 온라인 Raspberry Pi Pio SDK API 문서를 참조하십시오.
예를 들어 빌드 할 수있는 코드를 참조하십시오.
GitHub의 pico-sdk
의 마스터 브랜치에는 SDK의 최신 안정적인 릴리스가 포함되어 있습니다. 다가오는 기능이 필요하거나 테스트하려면 대신 개발 지점을 시도해 볼 수 있습니다.
Raspberry Pi Pio Visual Studio Code Extension을 VS 코드에 설치할 수 있습니다.
이 지침은 매우 간결하며 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
Raspberry Pi Pio SDK 저장소
sdk에서 pico_sdk_import.cmake를 프로젝트 디렉토리로 복사하십시오
PICO_SDK_PATH
환경의 SDK 위치로 설정하거나 ( -DPICO_SDK_PATH=
)를 나중에 CMAKE로 전달하십시오.
CMakeLists.txt
like를 설정하십시오.
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
또는 Raspberry Pi Pico SDK와 함께 하위 모듈로 :
SDK를 pico-sdk
라는 서브 모드로 복제하십시오
CMakeLists.txt
like를 설정하십시오.
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
like를 설정하십시오.
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
Raspberry Pi Pio SDK 저장소
CMakeLists.txt
like를 설정하십시오.
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-Pi Pi Pi Pio Series 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)
참고이 예는 stdout 의 기본 UART를 사용합니다. 기본 USB를 사용하려면 hello-USB 예제를 참조하십시오.
Cmake 빌드 디렉토리를 설정하십시오. 예를 들어, IDE를 사용하지 않는 경우 :
$ mkdir build
$ cd build
$ cmake ..
Raspberry Pi Pico 이외의 보드를 구축 할 때는 -DPICO_BOARD=board_name
위의 cmake
명령에 전달해야 cmake -DPICO_BOARD=pico_w ..
cmake -DPICO_BOARD=pico2 ..
그 특정 보드.
PICO_BOARD=<booardname>
지정 다양한 컴파일러 정의 (예 : UART 및 기타 하드웨어의 기본 핀 번호)를 설정하고 특정 경우에도 추가 라이브러리 (예 : PICO_BOARD=pico_w
를 구축 할 때 무선 지원)를 사용할 수 있습니다. 필수 하드웨어 기능을 제공하는 보드.
SDK 자체에 정의 된 보드 목록의 경우 각 지명 된 보드에 대한 헤더가있는이 디렉토리를 살펴보십시오.
생성 한 빌드 디렉토리에서 대상을 만드십시오.
$ make hello_world
이제 Debugger 또는 hello_world.uf2
를 통해 Raspberry Pi Pio 시로 시리즈 장치에 드래그 앤 드롭을 통해 실행할 수있는 Hello_world.uf2를로드 할 hello_world.elf
있습니다.
RP2350의 RISC-V를위한 빌드 환경 설정에 대한 정보는 Raspberry Pi Pio-Series C/C ++ SDK를 참조하십시오.