O Raspberry Pi Pico SDK (doravante o SDK) fornece os cabeçalhos, bibliotecas e sistema de construção necessários para escrever programas para os dispositivos baseados em microcontrolador da série RP, como o Raspberry Pi Pico ou Raspberry Pi Pico 2 em C, C ++ ou linguagem de montagem.
O SDK foi projetado para fornecer uma API e um ambiente de programação que seja familiar a desenvolvedores de C não incorporados e desenvolvedores de C incorporados. Um único programa é executado no dispositivo por vez e começa com um método main()
convencional. As bibliotecas C/C ++ padrão são suportadas juntamente com as bibliotecas/APIs de nível C para acessar todo o hardware do microcontrolador da série RP, incluindo PIO (IO programável).
Além disso, o SDK fornece bibliotecas de nível superior para lidar com temporizadores, sincronização, Wi-Fi e rede Bluetooth, programação USB e multicore. Essas bibliotecas devem ser abrangentes o suficiente para que o código do seu aplicativo raramente, se houver, precisa acessar diretamente os registros de hardware. No entanto, se você precisar ou preferir acessar os registros de hardware bruto, também encontrará cabeçalhos de definição de registro completos e totalmente cometidos no SDK. Não há necessidade de procurar endereços na folha de dados.
O SDK pode ser usado para criar qualquer coisa, desde aplicativos simples, ambientes de tempo de execução de pleno direito, como o Micropython, a software de baixo nível, como o próprio BootROM no chip do microcontrolador da série RP.
O objetivo do design para todo o SDK é ser simples, mas poderoso.
Bibliotecas/APIs adicionais que ainda não estão prontas para inclusão no SDK podem ser encontradas em pico-extras.
Consulte Introdução ao Raspberry Pi Pico-Series para obter informações sobre como configurar seu hardware, IDE/ambiente e como criar e depurar o software para os dispositivos baseados em microcontroladores Raspberry Pi e outros dispositivos baseados em microcontroladores.
Consulte Conectando -se à Internet com Raspberry Pi Pico W para saber mais sobre como escrever aplicativos para o seu Raspberry Pi Pico W que se conecta à Internet.
Consulte o Raspberry Pi Pico-Series C/C ++ SDK para saber mais sobre programação usando o SDK, para explorar recursos mais avançados e para documentação completa da API baseada em PDF.
Consulte os documentos on-line de Raspberry Pi Pico SDK para documentação da API baseada em HTML.
Consulte Pico-Exemplos, por exemplo, código que você pode construir.
O ramo principal do pico-sdk
no GitHub contém o último lançamento estável do SDK. Se você precisar ou deseja testar os próximos recursos, você pode tentar o desenvolvimento do desenvolvimento.
Você pode instalar a extensão do código do Raspberry Pi Pico Visual Studio no código vs.
Essas instruções são extremamente concisas e apenas baseadas em Linux. Para etapas detalhadas, instruções para outras plataformas e, em geral, recomendamos que você veja Raspberry Pi Pico-Series C/C ++ SDK
Instale o cmake (pelo menos versão 3.13) e um compilador cruzado do GCC
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
Configure seu projeto para apontar para usar o Raspberry Pi Pico SDK
Clonando o SDK localmente (mais comum):
git clone
este repositório de framboesa pi pico sdk
Copie Pico_SDK_IMPORT.CMAKE do SDK para o seu diretório de projeto
Defina PICO_SDK_PATH
no local do SDK em seu ambiente ou passe ( -DPICO_SDK_PATH=
) para clake posteriormente.
Configure um 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
Ou com o Raspberry Pi Pico SDK como submódulo:
Clone o SDK como um submódulo chamado pico-sdk
Configure um 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
Ou com download automático do GitHub:
Copie Pico_SDK_IMPORT.CMAKE do SDK para o seu diretório de projeto
Configure um 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
Ou clonando o SDK localmente, mas sem copiar pico_sdk_import.cmake
:
git clone
este repositório de framboesa pi pico sdk
Configure um 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
Escreva seu código (consulte Pico-Exemplos ou o Raspberry Pi Pico-Series C/C ++ SDK Documentação para obter mais informações)
Sobre o mais simples que você pode fazer é um único arquivo de origem (por exemplo, hello_world.c)
#include <stdio.h>
#include "pico/stdlib.h"
int main () {
stdio_init_all ();
printf ( "Hello, world!n" );
return 0 ;
}
E adicione o seguinte aos seus 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 exemplo usa o UART padrão para stdout ; Se você deseja usar o USB padrão, consulte o exemplo hello-USB.
Configure um diretório de construção cmake. Por exemplo, se não estiver usando um IDE:
$ mkdir build
$ cd build
$ cmake ..
Ao construir para uma placa que não seja o Raspberry Pi Pico, você deve passar -DPICO_BOARD=board_name
para o comando cmake
acima cmake -DPICO_BOARD=pico_w ..
cmake -DPICO_BOARD=pico2 ..
exemplo aquele conselho em particular.
Especificando PICO_BOARD=<booardname>
configura vários compiladores define (por exemplo PICO_BOARD=pico_w
números de pinos padrão para UART e outros hardware) e, em determinados casos placa que fornece a funcionalidade de hardware necessária.
Para uma lista de placas definidas no próprio SDK, procure neste diretório que tenha um cabeçalho para cada placa nomeada.
Faça seu alvo no diretório de compilação que você criou.
$ make hello_world
Agora você tem hello_world.elf
para carregar por meio de um depurador, ou hello_world.uf2
que pode ser instalado e executado no seu dispositivo Raspberry Pi Pico-Series via arrasto e solto.
Consulte Raspberry Pi Pico-Series C/C ++ SDK para obter informações sobre como configurar um ambiente de construção para RISC-V no RP2350.