Linux (Debian a klony)

Nejdříve je potřeba nainstalovat C SDK pro Raspberry Pi Pico

Předpoklady
sudo apt install build-essential
sudo apt install cmake
sudo apt install gcc-arm-none-eabi
sudo apt install libstdc++-arm-none-eabi-newlib
C SDK
mkdir -p  ~/pico
cd ~/pico/
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
# pridame cestu k nainstalovanemu SDK do .bashrc (nebo .profile)
echo 'export PICO_SDK_PATH=$HOME/pico/pico-sdk' >> ~/.bashrc
logout
Test funkčnosti C SDK (přeložíme příklady)
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)

Šablona pro projekty FreeRTOS (Pico)

Šablona pro vytváření projektů v FreeRTOS
mkdir -p ~/pico/rp2040-freertos-template
cd ~/pico/rp2040-freertos-template
git clone --recurse-submodules https://github.com/LearnEmbeddedSystems/rp2040-freertos-template

V adresáři rp2040-freertos-template vidíme 2 podadresáře lib a src. V lib je jádro a knihovny FreeRTOS a v src je náš jednoduchý projekt (blikání ledkou).

Definice celého projektu je v rp2040-freertos-template/CMakeLists.txt Musíme jenom pojmenovat náš projekt rp2040-freertos-template

Hlavní CMakeLists.txt
cmake_minimum_required(VERSION 3.12)

# Name project
SET(ProjectName rp2040-freertos-template)                                                       (1)

# Set any variables required for importing libraries
SET(FREERTOS_KERNEL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/FreeRTOS-Kernel)                       (2)

# Import those libraries
include(pico_sdk_import.cmake)                                                                  (3)
include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)

# Define project
project(${ProjectName})

# Initialize the Raspberry Pi Pico SDK
pico_sdk_init()

# Add subdirectories
add_subdirectory(src)                                                                           (4)

# if you have anything in "lib" folder then uncomment below - remember to add a CMakeLists.txt
# file to the "lib" directory
#add_subdirectory(lib)
1 Tady pojmenováváme náš projekt (rp2040-freertos-template)
2 Tady je nastavena cesta ke knihovnám FreeRTOS
3 Tady nastavujeme Pico SDK a jádro opračního systému FreeRTOS
4 Přidáme adrsář s naším projektem

V adresáři src (kde sídlí náš projekt) najdeme také CMakeLists.txt. Teď tento soubor nebudeme nijak upravovat.

add_executable(${ProjectName}                               (1)
    main.c
)

target_include_directories(${ProjectName} PRIVATE
    ${CMAKE_CURRENT_LIST_DIR}
)

target_link_libraries(${ProjectName}
    pico_stdlib
    FreeRTOS-Kernel-Heap4
    )

pico_add_extra_outputs(${ProjectName})
1 seznam našich zdrojáků
Poznámka: Tady je chyba. Po stažení šablony rp2040-freertos-template z gitu je v adresáři src soubor CmakeLists.txt.
Je potřeba ho přejmenovat na CMakeLists.txt

Může vytvořit adresář build a celý projekt přeložit.

mkdir build
cd build
cmake ..    (1)
cd src      (2)
make        (3)
1 Nastavení celého projektu pomocí cmake
2 Skočíme do adresáře build/src kde je soubor Makefile
3 Přeložíme a sestavíme projekt pomocí programu make

Pokud je všechno nastaveno správně, tak se program pro blikání ledkou přeloží a v adresáři build/src najedeme sestavený program rp2040-freertos-template.uf2, který můžeme obvyklým způsobem nahrát na Pico.

Zdroje a odkazy