Le SDK Raspberry Pi Pico (désormais le SDK) fournit les en-têtes, les bibliothèques et le système de construction nécessaires pour rédiger des programmes pour les appareils basés sur les microcontrôleurs de la série RP tels que le Raspberry Pi Pico ou Raspberry Pi Pico 2 en C, C ++ ou le langage d'assemblage.
Le SDK est conçu pour fournir une API et un environnement de programmation qui est familier à la fois aux développeurs C non placés et aux développeurs C intégrés. Un seul programme s'exécute sur l'appareil à la fois et commence par une méthode main()
conventionnelle. Les bibliothèques C / C ++ standard sont prises en charge avec les bibliothèques / API de niveau C pour accéder à tous les matériel de microcontrôleur de la série RP, y compris PIO (IO programmable).
De plus, le SDK fournit des bibliothèques de niveau supérieur pour traiter avec les minuteries, la synchronisation, le Wi-Fi et le réseau Bluetooth, la programmation USB et multicore. Ces bibliothèques doivent être suffisamment complets pour que votre code d'application soit rarement, voire pas du tout, d'accéder directement aux registres matériels. Cependant, si vous avez besoin ou préférez accéder aux registres matériels bruts, vous trouverez également des en-têtes de définition de registre complètes et entièrement commentés dans le SDK. Il n'est pas nécessaire de rechercher des adresses dans la fiche technique.
Le SDK peut être utilisé pour construire n'importe quoi, des applications simples, des environnements d'exécution à part entière tels que Micropython, à des logiciels de bas niveau tels que le bootrom sur puce du microcontrôleur RP lui-même.
L'objectif de conception de l'ensemble du SDK est d'être simple mais puissant.
Des bibliothèques / API supplémentaires qui ne sont pas encore prêtes à être incluses dans le SDK peuvent être trouvées dans Pico-Extras.
Voir pour commencer la série Raspberry Pi Pico pour obtenir des informations sur la configuration de votre matériel, de votre IDE / Environnement et de la création de logiciels pour le Raspberry Pi Pico et d'autres appareils basés sur les microcontrôleurs de la série RP.
Voir la connexion à Internet avec Raspberry Pi Pico W pour en savoir plus sur la rédaction d'applications pour votre Raspberry Pi Pico W qui se connectent à Internet.
Voir Raspberry Pi Pico-Series C / C ++ SDK pour en savoir plus sur la programmation à l'aide du SDK, pour explorer des fonctionnalités plus avancées et pour une documentation complète d'API basée sur PDF.
Voir les documents API SDK SDK Raspberry Pi Pi en ligne pour la documentation API basée sur HTML.
Voir Pico-Exemples par exemple le code que vous pouvez créer.
La branche maître de pico-sdk
sur GitHub contient la dernière version stable du SDK. Si vous avez besoin ou souhaitez tester les fonctionnalités à venir, vous pouvez plutôt essayer la branche de développement.
Vous pouvez installer l'extension de code Studio Visual Raspberry PI PICO dans le code vs.
Ces instructions sont extrêmement lacères et basées sur Linux uniquement. Pour des étapes détaillées, des instructions pour d'autres plates-formes, et juste en général, nous vous recommandons de voir SDK Raspberry Pi Pico-Series C / C ++
Installez CMake (au moins la version 3.13) et un compilateur croisé GCC
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
Configurez votre projet pour pointer pour utiliser le SDK Raspberry Pi Pico
Soit en clonant le SDK localement (le plus commun):
git clone
ce référentiel SDK Raspberry Pi Pico
Copiez Pico_Sdk_Import.Cake du SDK dans votre répertoire de projet
Définissez PICO_SDK_PATH
à l'emplacement du SDK dans votre environnement, ou passez-le ( -DPICO_SDK_PATH=
) pour CMake plus tard.
Configurez un CMakeLists.txt
comme:
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
Ou avec le SDK Raspberry Pi Pico comme sous-module:
Clone le SDK en tant que sous-module appelé pico-sdk
Configurez un CMakeLists.txt
comme:
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
Ou avec un téléchargement automatique depuis Github:
Copiez Pico_Sdk_Import.Cake du SDK dans votre répertoire de projet
Configurez un CMakeLists.txt
comme:
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
Ou en clonant le SDK localement, mais sans copier pico_sdk_import.cmake
:
git clone
ce référentiel SDK Raspberry Pi Pico
Configurez un CMakeLists.txt
comme:
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
Écrivez votre code (voir Pico-Exemples ou la documentation SDK Raspberry Pi Pico-Series C / C ++ pour plus d'informations)
À propos du plus simple que vous pouvez faire est un seul fichier source (par exemple Hello_world.c)
#include <stdio.h>
#include "pico/stdlib.h"
int main () {
stdio_init_all ();
printf ( "Hello, world!n" );
return 0 ;
}
Et ajoutez ce qui suit à vos 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)
Remarque Cet exemple utilise le UART par défaut pour STDOUT ; Si vous souhaitez utiliser l'USB par défaut, consultez l'exemple Hello-USB.
Configurer un répertoire de construction CMake. Par exemple, s'il n'utilise pas un IDE:
$ mkdir build
$ cd build
$ cmake ..
Lors cmake -DPICO_BOARD=pico_w ..
la construction pour une planche autre que le Raspberry Pi Pico, vous devez passer -DPICO_BOARD=board_name
cmake -DPICO_BOARD=pico2 ..
cmake
ce conseil en particulier.
Spécification PICO_BOARD=<booardname>
Configure diverses définies du compilateur (par exemple, les numéros de broches par défaut pour UART et autres matériels) et dans certains cas permet également l'utilisation de bibliothèques supplémentaires (par exemple, le support sans fil lors de la construction pour PICO_BOARD=pico_w
) qui ne peut pas être construit sans une Carte qui fournit la fonctionnalité matérielle requise.
Pour une liste de conseils définis dans le SDK lui-même, regardez dans ce répertoire qui a un en-tête pour chaque planche nommée.
Faites votre cible à partir du répertoire de construction que vous avez créé.
$ make hello_world
Vous avez maintenant hello_world.elf
à charger via un débogueur, ou hello_world.uf2
qui peut être installé et exécuter sur votre périphérique Raspberry Pi Pico-Series via glisser et dépose.
Voir Raspberry Pi Pico-Series C / C ++ SDK pour plus d'informations sur la configuration d'un environnement de construction pour RISC-V sur RP2350.