El SDK de Raspberry Pi Pico (en adelante, el SDK) proporciona los encabezados, las bibliotecas y el sistema de compilación necesarios para escribir programas para los dispositivos basados en microcontroladores de la serie RP, como el Raspberry Pi Pico o Raspberry Pi Pico 2 en C, C ++ o lenguaje de ensamblaje.
El SDK está diseñado para proporcionar una API y un entorno de programación que sea familiar tanto para los desarrolladores de C no incrustados como para los desarrolladores de C integrados por igual. Un solo programa se ejecuta en el dispositivo a la vez y comienza con un método main()
convencional. Las bibliotecas estándar de C/C ++ son compatibles con bibliotecas/API de nivel C para acceder a todos los hardware del microcontrolador de la serie RP, incluido PIO (IO programable).
Además, el SDK proporciona bibliotecas de nivel superior para tratar con temporizadores, sincronización, redes Wi-Fi y Bluetooth, USB y programación multinúcleo. Estas bibliotecas deben ser lo suficientemente integrales como para que su código de aplicación rara vez, si es que lo hace, debe acceder a los registros de hardware directamente. Sin embargo, si necesita o prefiere acceder a los registros de hardware sin procesar, también encontrará encabezados de definición de registro completos y totalmente comentados en el SDK. No hay necesidad de buscar direcciones en la hoja de datos.
El SDK se puede utilizar para construir cualquier cosa, desde aplicaciones simples, entornos de tiempo de ejecución totalmente de pleno derecho, como Micopython, hasta software de bajo nivel, como el botín del microcontrolador de la serie RP en el mismo Bootrom.
El objetivo de diseño para SDK completo es ser simple pero poderoso.
Las bibliotecas/API adicionales que aún no están listas para su inclusión en el SDK se pueden encontrar en Pico-Extras.
Vea comenzar con la serie Raspberry Pi Pico para obtener información sobre cómo configurar su hardware, IDE/entorno y cómo construir y depurar software para el Raspberry Pi Pico y otros dispositivos basados en microcontroladores de la serie RP.
Vea la conexión a Internet con Raspberry Pi Pico W para obtener más información sobre la escritura de aplicaciones para su Raspberry Pi Pico W que se conectan a Internet.
Consulte Raspberry Pi Pico-Series C/C ++ SDK para obtener más información sobre la programación utilizando el SDK, para explorar funciones más avanzadas y para la documentación completa de API basada en PDF.
Consulte los documentos de API de Raspberry PIC SDK en línea para la documentación de API basada en HTML.
Consulte las pruebas de Pico, por ejemplo, el código que puede construir.
La rama maestra de pico-sdk
en GitHub contiene el último lanzamiento estable del SDK. Si necesita o desea probar las próximas funciones, puede probar la sucursal Develop.
Puede instalar la extensión del código Raspberry PIC Pico Visual Studio en el código VS.
Estas instrucciones son extremadamente breve y solo basadas en Linux. Para pasos detallados, instrucciones para otras plataformas, y en general, le recomendamos que vea Raspberry Pi Serie Pico C/C ++ SDK
Instale CMake (al menos la versión 3.13) y un compilador cruzado GCC
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
Configure su proyecto para apuntar para usar el Raspberry Pi Pico SDK
Ya sea clonando el SDK localmente (más común):
git clone
Este repositorio de Raspberry P Pico SDK
Copie pico_sdk_import.cmake desde el SDK en el directorio de su proyecto
Establezca PICO_SDK_PATH
en la ubicación SDK en su entorno, o paselo ( -DPICO_SDK_PATH=
) a cmake más tarde.
Configurar una CMakeLists.txt
como:
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
O con el SDK Raspberry P Pico como submódulo:
Clon el SDK como un submódulo llamado pico-sdk
Configurar una CMakeLists.txt
como:
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
O con descarga automática de GitHub:
Copie pico_sdk_import.cmake desde el SDK en el directorio de su proyecto
Configurar una CMakeLists.txt
como:
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
O clonando el SDK localmente, pero sin copiar pico_sdk_import.cmake
:
git clone
Este repositorio de Raspberry P Pico SDK
Configurar una CMakeLists.txt
como:
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
Escriba su código (consulte la documentación de SDK de la serie PICO de Raspberry Pi Pi para obtener más información)
Sobre lo más simple que puede hacer es un solo archivo fuente (por ejemplo, hola_world.c)
#include <stdio.h>
#include "pico/stdlib.h"
int main () {
stdio_init_all ();
printf ( "Hello, world!n" );
return 0 ;
}
Y agregue lo siguiente a su 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)
Nota Este ejemplo usa el UART predeterminado para STDOUT ; Si desea usar el USB predeterminado, consulte el ejemplo Hello-USB.
Configurar un directorio de compilación CMake. Por ejemplo, si no usa un IDE:
$ mkdir build
$ cd build
$ cmake ..
Al construir para una tabla que no sea la Raspberry Pi Pico, debe pasar -DPICO_BOARD=board_name
en el comando cmake
anterior, por ejemplo, cmake -DPICO_BOARD=pico2 ..
o cmake -DPICO_BOARD=pico_w ..
para configurar el SDK y construir opciones consultoras para ese tablero en particular.
Especificar PICO_BOARD=<booardname>
Establece varias define del compilador (por ejemplo, números PIN predeterminados para UART y otro hardware) y en ciertos casos también permite el uso de bibliotecas adicionales (por ejemplo, soporte inalámbrico al construir para PICO_BOARD=pico_w
) que no se puede construir sin un tablero que proporciona la funcionalidad de hardware necesaria.
Para una lista de tableros definidos en el SDK en sí, mire en este directorio que tenga un encabezado para cada tablero con nombre.
Haga su objetivo desde el directorio de compilación que creó.
$ make hello_world
Ahora tiene hello_world.elf
para cargar a través de un depurador, o hello_world.uf2
que se puede instalar y ejecutar en su dispositivo de serie Pico Raspberry Pi a través de arrastrar y soltar.
Consulte Raspberry Pi Pico-Series C/C ++ SDK para obtener información sobre la configuración de un entorno de compilación para RISC-V en RP2350.