يوفر Raspberry Pi Pico SDK (من الآن فصاعداً SDK) الرؤوس والمكتبات ونظام البناء اللازم لكتابة برامج للأجهزة المستندة إلى Microcontroller RP-Series مثل Raspberry Pi Pico أو Raspberry Pi Pico 2 في C ++ أو لغة التجميع.
تم تصميم SDK لتوفير بيئة API وبرمجة مألوفة لمطوري C غير المدمجة ومطوري C المدمجة على حد سواء. يعمل برنامج واحد على الجهاز في وقت واحد ويبدأ بطريقة main()
. يتم دعم مكتبات C/C ++ القياسية جنبًا إلى جنب مع المكتبات/واجهات برمجة التطبيقات على مستوى C للوصول إلى جميع أجهزة متحكم RP-Series Microcontroller بما في ذلك PIO (IO القابلة للبرمجة).
بالإضافة إلى ذلك ، يوفر SDK مكتبًا أعلى مستوى للتعامل مع أجهزة ضبط الوقت والمزامنة وشبكات Wi-Fi و Bluetooth وبرمجة USB وبرمجة متعددة الأوساط. يجب أن تكون هذه المكتبات شاملة بدرجة كافية بحيث يحتاج رمز التطبيق الخاص بك ، إن وجدت ، إلى الوصول إلى سجلات الأجهزة مباشرة. ومع ذلك ، إذا كنت بحاجة إلى أو تفضل الوصول إلى سجلات الأجهزة الخام ، فستجد أيضًا رؤوس تعريف التسجيل الكاملة والمعدلة بالكامل في SDK. ليست هناك حاجة للبحث عن عناوين في ورقة البيانات.
يمكن استخدام SDK لإنشاء أي شيء من التطبيقات البسيطة ، وبيئات وقت التشغيل بالكامل مثل Micropython ، إلى برامج منخفضة المستوى مثل Bootrom المتحكم في سلسلة RP.
هدف التصميم لـ SDK بأكمله هو أن يكون بسيطًا ولكنه قوي.
يمكن العثور على مكتبات إضافية/واجهات برمجة التطبيقات التي لم تكن جاهزة بعد للإدراج في SDK في Pico-Extras.
شاهد البدء مع سلسلة Raspberry Pi Pico للحصول على معلومات حول كيفية إعداد أجهزتك و IDE/Environment وكيفية إنشاء وتصحيح برامج 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-Explames على سبيل المثال الرمز الذي يمكنك إنشاؤه.
يحتوي الفرع الرئيسي لـ pico-sdk
على Github على أحدث إصدار مستقر من SDK. إذا كنت بحاجة أو ترغب في اختبار الميزات القادمة ، فيمكنك تجربة فرع تطوير بدلاً من ذلك.
يمكنك تثبيت امتداد رمز Raspberry Pi Pio Visual Studio في VS Code.
هذه التعليمات هي terse للغاية ، و 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
هذا مستودع 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 كوحدة فرعية:
استنساخ 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
أو بتنزيل تلقائي من جيثب:
نسخ 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
هذا مستودع 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-exples أو وثائق 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. على سبيل المثال ، إذا لم تستخدم 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 والأجهزة الأخرى) وفي بعض الحالات ، يتيح أيضًا استخدام مكتبات إضافية (مثل الدعم اللاسلكي عند بناء PICO_BOARD=pico_w
المجلس الذي يوفر وظائف الأجهزة المطلوبة.
للحصول على قائمة من اللوحات المحددة في SDK نفسها ، انظر في هذا الدليل الذي يحتوي على رأس لكل لوحة مسماة.
اجعل هدفك من دليل الإنشاء الذي أنشأته.
$ make hello_world
لديك الآن hello_world.elf
للتحميل عبر مصحح تصحيح ، أو hello_world.uf2
التي يمكن تثبيتها وتشغيلها على جهاز Raspberry Pi Pico-Series عبر السحب والإسقاط.
انظر Raspberry Pi Pico-Series C/C ++ SDK للحصول على معلومات حول إعداد بيئة بناء لـ RISC-V على RP2350.