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.