Raspberry Pi Pico SDK (ต่อจากนี้ไป SDK) ให้ส่วนหัวห้องสมุดและระบบสร้างที่จำเป็นในการเขียนโปรแกรมสำหรับอุปกรณ์ไมโครคอนโทรลเลอร์ RP-Series เช่น Raspberry Pi Pico หรือ Raspberry Pi Pico 2 ใน C, C ++ หรือภาษาประกอบ
SDK ได้รับการออกแบบมาเพื่อให้สภาพแวดล้อม API และการเขียนโปรแกรมที่คุ้นเคยทั้งกับนักพัฒนา C ที่ไม่ได้ฝังและนักพัฒนา C ฝังตัวเหมือนกัน โปรแกรมเดียวทำงานบนอุปกรณ์ในแต่ละครั้งและเริ่มต้นด้วยวิธี main()
ทั่วไป ห้องสมุด C/C ++ มาตรฐานได้รับการสนับสนุนพร้อมกับไลบรารีระดับ C/API สำหรับการเข้าถึงฮาร์ดแวร์ของไมโครคอนโทรลเลอร์ RP-Series ทั้งหมดรวมถึง PIO (Programmable IO)
นอกจากนี้ SDK ยังมีไลบรารีระดับที่สูงขึ้นสำหรับการจัดการกับตัวจับเวลาการซิงโครไนซ์ Wi-Fi และเครือข่ายบลูทู ธ การเขียนโปรแกรม USB และการเขียนโปรแกรมมัลติคอร์ ไลบรารีเหล่านี้ควรครอบคลุมเพียงพอที่รหัสแอปพลิเคชันของคุณไม่ค่อยจำเป็นต้องเข้าถึงฮาร์ดแวร์ลงทะเบียนโดยตรง อย่างไรก็ตามหากคุณต้องการหรือต้องการเข้าถึงการลงทะเบียนฮาร์ดแวร์ดิบคุณจะพบส่วนหัวนิยามการลงทะเบียนที่สมบูรณ์และสมบูรณ์แบบใน SDK ไม่จำเป็นต้องค้นหาที่อยู่ในแผ่นข้อมูล
SDK สามารถใช้ในการสร้างอะไรก็ได้จากแอพพลิเคชั่นที่เรียบง่ายสภาพแวดล้อมรันไทม์ที่เต็มเปี่ยมเช่น micropython ไปจนถึงซอฟต์แวร์ระดับต่ำเช่น RP-Series Microcontroller ของ Bootrom บนชิป
เป้าหมายการออกแบบสำหรับ SDK ทั้งหมดนั้นง่าย แต่ทรงพลัง
ห้องสมุด/API เพิ่มเติมที่ยังไม่พร้อมสำหรับการรวมใน SDK สามารถพบได้ใน Pico-extras
ดูการเริ่มต้นใช้งาน Raspberry Pi Pico-Series สำหรับข้อมูลเกี่ยวกับวิธีการตั้งค่าฮาร์ดแวร์ของคุณ IDE/สภาพแวดล้อมและวิธีการสร้างและการดีบักซอฟต์แวร์สำหรับ Raspberry Pi Pico และอุปกรณ์ไมโครคอนโทรลเลอร์ RP-Series อื่น ๆ
ดูการเชื่อมต่อกับอินเทอร์เน็ตกับ Raspberry Pi Pico W เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนแอปพลิเคชันสำหรับ Raspberry Pi Pico W ที่เชื่อมต่ออินเทอร์เน็ต
ดู Raspberry Pi Pico-Series C/C ++ SDK เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรมโดยใช้ SDK เพื่อสำรวจคุณสมบัติขั้นสูงเพิ่มเติมและสำหรับเอกสาร API ที่ใช้ PDF ที่สมบูรณ์
ดูเอกสาร Raspberry Pi Pico SDK API ออนไลน์สำหรับเอกสาร API ที่ใช้ HTML
ดูตัวอย่าง Pico ตัวอย่างเช่นรหัสที่คุณสามารถสร้างได้
สาขาหลักของ pico-sdk
บน GitHub มี การเปิดตัว SDK ที่มีเสถียรภาพล่าสุด หากคุณต้องการหรือต้องการทดสอบคุณสมบัติที่กำลังจะมาถึงคุณสามารถลองพัฒนาสาขาแทน
คุณสามารถติดตั้งส่วนขยายรหัส Raspberry Pi Pico Visual Studio ในรหัส VS
คำแนะนำเหล่านี้สั้นมากและใช้ Linux เท่านั้น สำหรับขั้นตอนโดยละเอียดคำแนะนำสำหรับแพลตฟอร์มอื่น ๆ และโดยทั่วไปเราขอแนะนำให้คุณดู Raspberry Pi Pico-Series C/C ++ SDK
ติดตั้ง cmake (อย่างน้อยเวอร์ชัน 3.13) และคอมไพเลอร์ GCC Cross
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
ตั้งค่าโครงการของคุณเพื่อชี้ให้ใช้ Raspberry Pi Pico SDK
โดยการโคลนนิ่ง SDK ในพื้นที่ (พบมากที่สุด):
git clone
repository raspberry pi pico sdk นี้
คัดลอก pico_sdk_import.cmake จาก SDK ลงในไดเรกทอรีโครงการของคุณ
ตั้งค่า 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
หรือกับ Raspberry Pi Pico SDK เป็น submodule:
Clone the SDK เป็น submodule ที่เรียกว่า 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:
คัดลอก 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
repository raspberry 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 หรือ Raspberry Pi Pico-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)
หมายเหตุตัวอย่างนี้ใช้ 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 ..
เพื่อกำหนดค่า SDK และสร้างตัวเลือกตามลำดับ บอร์ดนั้น
การระบุ PICO_BOARD=<booardname>
ตั้งค่าคอม PICO_BOARD=pico_w
เลอร์ต่าง ๆ (เช่นหมายเลขพินเริ่มต้นสำหรับ UART และฮาร์ดแวร์อื่น ๆ ) และในบางกรณียังช่วยให้สามารถใช้ไลบรารีเพิ่มเติมได้ บอร์ดซึ่งให้ฟังก์ชั่นฮาร์ดแวร์ที่จำเป็น
สำหรับรายการบอร์ดที่กำหนดไว้ใน SDK เองให้ดูในไดเรกทอรีนี้ซึ่งมีส่วนหัวสำหรับแต่ละบอร์ดชื่อ
ทำให้เป้าหมายของคุณจากไดเรกทอรีบิลด์ที่คุณสร้างขึ้น
$ make hello_world
ตอนนี้คุณมี hello_world.elf
ที่จะโหลดผ่านดีบักเกอร์หรือ hello_world.uf2
ที่สามารถติดตั้งและทำงานบนอุปกรณ์ Raspberry Pi Pico-Series ของคุณผ่านการลากและวาง
ดู Raspberry Pi Pico-Series C/C ++ SDK สำหรับข้อมูลเกี่ยวกับการตั้งค่าสภาพแวดล้อมการสร้างสำหรับ RISC-V บน RP2350