====== Vývojová prostředí ======
V předmětu používané vývojové prostředí vychází z volně dostupných překladačů ''gcc'' a ''clang'', které mají nejjednodušší použití v systémech *nixového typů (např. Linux, OS X, BSD). V počítačových učebnách je využíváno operačního systému Ubuntu. Hlavní důvod je přímčará instalace potřebných softwarových nástrojů. V případě Linuxu je doporučen začínajícím uživatelům systém [[https://ubuntu.com/|Ubuntu]] případně [[https://pop.system76.com/|Pop OS!]].
V případě použití OS typu Win 10 a Win 11 a nemožnosti instalace některého výše uvedeného systému je možné využít přímo virtualizaci v systému Win10 a Win11 [[courses:b0b36prp:tutorials:devel:wsl2|Windows Subsystem for Linux (WSL)]] nebo [[courses:b0b36prp:tutorials:devel:virtualbox|VirtualBoxu]]. V obou případech je zprovoznění komunikace po sériovém portu s deskou Nucleo možná, ale vyžaduje relativně pokročilé znalosti. V případě WSL je možné očekávat případné těžkosti s grafickým výstupem.
V případě WSL i VirtualBoxu lze propojení USB seriového portu s v rámci virtualizovaného prostředí řešit [[ https://github.com/rpasek/usbip-wsl2-instructions|USB IP]]. Viz např. [[https://cw.fel.cvut.cz/b212/_detail/courses/b0b36prp/tutorials/prgsem-nucleo-win10-wsl2.jpeg|Win 10 s WSL2 a grafickým výstupem]], ale nastavení není triviální a může být značně časově náročné.
===== Instalace softwarových balíků pro OS Ubuntu =====
Instalace je určena pro Ubuntu 20.04.
Proveďte níže uvedené příkazy nebo použijte skript ''install-prp.sh'' z archivu {{ :courses:b0b36prp:tutorials:install-prp.zip |}}.
#!/bin/bash
# superuser is required for installing the packages
sudo apt -y update # update is required to fetch add some of the following packages
sudo apt -y install pkg-config # retrieve info about installed stuff
sudo apt -y install make cmake ccache # make
sudo apt -y install clang clang-format # install compiler ( clang-10 is autoinstalled within clang)
sudo apt -y install valgrind valgrind-dbg gdb cgdb ghex cppcheck # debug and code checking
sudo apt -y install libsdl2-dev libsdl2-image-dev libjpeg-dev # libs for drawing windows and images
# other useful packages
sudo apt -y install tree # show folder structure
sudo apt -y install htop # show running processes, used mem and CPU
sudo apt -y install mc # midnight commander -> file manager
sudo apt -y install ranger # ranger file manager -> better for only terminal setup
sudo apt -y install nano vim # text editors
sudo apt -y install unzip # data compression tool
sudo apt -y install git subversion # version control systems (git always first )
sudo apt -y install gtkterm # serial line communication tool