Neustále se snažíme vylepšovat a zjednodušovat práci se stavebnicí TOWER. Již delší dobu doporučujeme vývojové prostředí VSCode. Na každou platformu Windows, Linux, macOS se ale přístup lišil a instalace nástrojů a GCC kompilátoru mohla začátečníkům komplikovat tvorbu prvního programu.
Za poslední roky se PlatformIO, což je vlastně extension do VSCode, velmi rozšířilo a používá jej čím dál více embedded vývojářů. Výhodou jsou balíčky, které korektně a bez ohledu na operační systém nainstalují potřebné nástroje a to i bez nutnosti administrátorského přístupu.

V TOWER dokumentaci je nyní detailní postup instalace PlatformIO, který je nyní jednotný na všechny platformy.
V dalších kapitolách Firmware Quick Start a First Firmware se dozvíte jak vytvořit první projekt a jak nově vypadá struktura složek vašeho programu.
Pro ladění jsme integrovali také sériovou konzoli. Více je popsáno v sekci Debugging.
Vytvoření nového projektu
Přímo v PlatformIO potom můžete vycházet z již existujících projektů v položce Examples
. Není tedy vždy nutné použít nástroj git.

Nicméně git lze stále použít a nový repozitář twr-skeleton obsahuje vše pro použití PlatformIO včetně konfiguračního souboru platformio.ini
.
SDK a application.c
Změnou oproti standardnímu projektu je to, že ve složce již nenajdete složku sdk
. Ta se automaticky stáhne do podsložky .pio
. Proto při sdílení nebo kopírování je možné tuto (v UNIXech neviditelnou složku) i smazat. Při další kompilaci se všechny knihovny stáhnou a vytvoří znova.
Projekty tedy lze snadněji kopírovat a sdílet.
Hlavní soubor s vaším programem je nyní ve složce src/application.c
.
Konfigurační soubor
Soubor platformio.ini
je hlavní konfigurační soubor. Obsahuje definice platformy, desky a frameworku. Uvnitř je také řádek lib_deps = twr-sdk
, který právě definuje stažení SDK. Stahuje se vždy to nejnovější. Pokud byste chtěli svůj projekt vázat na nějakou konkrétní verzi SDK, lze to snadno provést zamčením například takto lib_deps = twr-sdk@1.0.0
.
Pokud nespecifikujete verzi SDK, tak se použije vždy ta, která je ve složce .pio
naposledy stažená. Pokud ji chcete aktualizovat, můžete složku .pio
smazat a provést nový build, který stáhne poslední verzi SDK.
; https://docs.platformio.org/page/projectconf.html
[platformio]
default_envs = debug
[env]
platform = hardwario-tower
board = core_module
framework = stm32cube
lib_deps = twr-sdk
monitor_speed = 115200
monitor_filters = printable, send_on_enter
monitor_flags = --echo
[env:debug]
upload_protocol = serial
[env:release]
upload_protocol = serial
build_flags =
${env.build_flags}
-D RELEASE
[env:debug-jlink]
build_type = debug
upload_protocol = jlink
debug_init_break = tbreak application_init
debug_svd_path = .pio/libdeps/debug/twr-sdk/sys/svd/stm32l0x3.svd
build_flags =
${env.build_flags}
-D DEBUG
Flashování
PlatformIO automaticky nadetekuje sériový port, ke kterému je Core Module připojen. Nyní již není potřeba jej ručně vybírat, jak tomu bylo dřív u nástroje bcf
.
Flash provedete kliknutím na symbol šipky vpravo →
v dolní stavové liště. Pokud předtím program nebyl zkompilován, nebo jste provedli a uložili nějaké změny, tak se program před flashnutím i utomaticky zkompiluje.

Sériová konzole
Původní nástroj bcf
pro výpisy sériové konzole nyní nahrazuje symbol zástrčky v dolní liště VSCode.

J-Link debugging
Již přímo v PlatformIO je podpora pro různé SWD/JTAG ladící adaptéry. V základní konfiguraci je zvolený JLink, ale je možné si nakonfigurovat vlastní ST-Link nebo jiné. Pro spuštění ladění stačí stisknout F5
.