Zde bude ukázána instalace na Ubuntu Linuxu a klonech (Mint, Kubuntu). Na Debianu to bude stejné.
Instalace C SDK na Linux
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libstdc++-arm-none-eabi-newlib git
mkdir -p ~/pico (1)
cd ~/pico/
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
echo 'export PICO_SDK_PATH=$HOME/pico/pico-sdk' >> ~/.bashrc (2)
source ~/.bashrc (3)
| 1 | Instalovat můžete do libovolného adresáře, musíte ho ale přidat do proměnné PICO_SDK_PATH |
| 2 | Přidání adresáře s SDK do PICO_SDK_PATH. Bez toho nebude vyvojové prostředí fungovat. |
| 3 | Aktivace .bashrc, můžete tento příkaz vynechat a odhlásit se a znovu přihlásit. |
Je velmi vhodné si nainstalovat program, kterým se budeme moci přihlásit na výstup Pica, na sériovou linku.
Dá se použít třeba minicom nebo screen, ale i třeba tio. tio se musí instalovat pomocí snapu,
nebo přeložit ze zdrojových kódů. Podrobnosti jsou na githubu autora.
sudo apt install minicom screen
sudo usermod -a -G dialout <uživatel>
Vy jako uživatel (pokud nejste root) musíte být ve skupině dialout, jinak nebudete moci minicom používat.
Po přidání uživatele do skupiny dialout se musíte odhlásit a znovu přihlásit. Pokud to nechce fungovat, tak restartujte počítač.
Na počítačích v učebně OU5 je toto všechno hotové a funguje to. Nemusíte dělat vůbec nic.
Příklad s blikání LEDkou
cd ~/pico
git clone -b master https://github.com/raspberrypi/pico-examples.git
cd pico-examples
mkdir build
cd build
cmake ..
cd blink
make -j $(nproc)
Spuštění blink firmware na Picu
-
Podržte tlačítko BOOTSEL na Picu, připojte USB kabel mezi Picem a počítadlem a uvolněte stlačítko BOOTSEL.
-
Pico by se mělo objevit připojené jako USB flash disk. Zkopírujte ~/pico/pico-examples/build/blink/blink.uf2 na tento flash disk.
-
Pico by se mělo restartovat a spustit blink firmware. Ledka na Picu by měla začít blikat.
Příklad Hello World se sériovou linkou
Pico může používat USB port jako sériovou linku, tak máme k dispozici STDIO
cd pico-examples/build/hello_world
make -j $(nproc)
Spuštění Hello World
-
Podržte tlačítko BOOTSEL na Picu, připojte USB kabel mezi Picem a počítadlem a uvolněte stlačítko BOOTSEL.
-
Pico by se mělo objevit připojené jako USB flash disk. Zkopírujte ~/pico/pico-examples/build/hello_world/usb/hello_usb.uf2 na tento flash disk.
-
Pico by se mělo restartovat a mělo by se tvářit jako USB sériová linka
-
Spusťte sudo dmesg | tail a zjistěte sériovou linku (měla by být nejspíše /dev/ttyACM0)
-
Připojete se k sériové lince pomocí programu
screen /dev/ttyACM0 115200nebominicom -b 115200 -D /dev/ttyACM0
Hello, world!
Hello, world!
Hello, world!
...
K odpojení screenu od sériové linky se používá Ctrl-A, k a y
Vytvoření vlastního projektu
cd ~/pico
mkdir my_project
cd my_project/
touch my_project.c
touch CMakeLists.txt
cp $PICO_SDK_PATH/external/pico_sdk_import.cmake .
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/gpio.h"
const uint LED_PIN = 25;
int main() {
stdio_init_all();
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (1) {
gpio_put(LED_PIN, 0);
sleep_ms(250);
gpio_put(LED_PIN, 1);
printf("Hello World\n");
sleep_ms(1000);
}
}
Do CMakeLists.txt napište následující text:
cmake_minimum_required(VERSION 3.13)
include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake)
project(my_project C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(my_project
my_project.c
)
pico_enable_stdio_usb(my_project 1)
pico_enable_stdio_uart(my_project 0)
pico_add_extra_outputs(my_project)
target_link_libraries(my_project pico_stdlib)
Poznámka: Implicitně je STDIO připojeni k UART0 (Raspberry Pi Pico piny 1 a 2). pico_enable_stdio_uart(my_project 0) vypne STDIO na UART0 pico_enable_stdio_usb(my_project 1) zapne STDIO přes USB UART (/dev/ttyACM0)
# Příprava pro sestavení projektu
mkdir build
cd build
cmake ..
# Sestavení projektu
make
Spuštení programu
-
Podržte tlačítko BOOTSEL na Picu, připojte USB kabel mezi Picem a počítadlem a uvolněte stlačítko BOOTSEL.
-
Pico by se mělo objevit připojené jako USB flash disk. Zkopírujte ~/pico/my_project/my_project.uf2 na tento flash disk.
-
Pico by se mělo restartovat a mělo by se tvářit jako USB sériová linka, vestavěná LED začne blikat.
Instalace C SDK pro Pico na Windows popíšu někdy později, až to rozchodím. Na programování Windows nepoužívám a proto to pro mě bude trochu boj.
Je to rozchozené zde a nebo jiným způsobem zde.
Dokumetace k Picu

| pin | význam | popis |
|---|---|---|
3V3 |
napájení 3.3V |
Zdroj 3.3 V napájení, stejné napětí na kterém Pico běží na interně, generované z vstupu VSYS. Tento napájecí zdroj může být zapnut a vypnut pomocí pinu 3V3_EN nad ním, čímž se také vypne Pico |
VSYS |
napájení 2 až 5 V |
Pin přímo připojený k vnitřní části vašeho Pico napájecí zdroj, který nelze vypnout aniž byste také vypnuli Pico. |
VBUS |
napájení 5V |
Zdroj 5V napětí, bere se z Pico micro USB portu a slouží k napájení hardwaru který potřebuje více než 3,3 V. |
GND |
0V zem |
Všechny GND piny jsou vzájemně propojené. |
GPxx |
I/O pin pro všeobecné použití |
GPIO piny jsou dostupné vašemu programu a jsou označeny GP0 až GP28 |
GPxx_ADC |
I/O pin pro všeobecné použití s analogovým vstupem |
GPIO končící ADC a číslem je možno použít buď jako analogový vstup (ADC0 až ADC3) nebo jako digitální vstup, či výstup (GP26 až GP28) (Nelze je však použít současně jako analogový vstup a digitální vstup/výstup). |
ADC_VREF |
referenční napětí pro analogově digitální (AD) převodník |
Speciální PIN, kterým se nastavuje referenční napětí pro libovolné analogové vstupy |
AGND |
zem pro AD převodník |
Zem, která se používá spolu s pinem ADC_VREF |
RUN |
zapnutí nebo vypnutí |
Tímto pinem lze zapnout nebo vypnout Pico z jiného mikrokontroléru |