Otevře se na nové kartě

STM32 IDE: vývoj ve VS Code s CubeMX a CMake

Visual Studio Code (VS Code) se v posledních letech stal jedním z nejoblíbenějších editorů mezi vývojáři díky své flexibilitě, rychlosti a široké podpoře rozšíření. Pro vývoj aplikací na platformě STM32 nabízí STMicroelectronics rozšíření STM32 VS Code Extension právě pro VS Code.

Proč zvolit VS Code pro STM32?

VS Code je multiplatformní editor, který kombinuje jednoduchost s výkonem. Na rozdíl od tradičních integrovaných vývojových prostředí (IDE) je lehký, rychle se spouští a díky rozsáhlé knihovně rozšíření lze jeho funkce snadno přizpůsobit konkrétním potřebám.

Pro vývoj aplikací na platformě STM32 nabízí STMicroelectronics konfigurační nástroj STM32CubeMX, který umožňuje pohodlnou konfiguraci mikrokontrolérů, generování kódu a projektu. Pro VS Code lze pomocí CubeMX vygenerovat CMake projekt.

Kromě STM32 můžete ve stejném IDE programovat i mikrokontroléry Atmel/Microchip, ESP32 či ESP8266 a další.

STM32CubeMX a STM32 VS Code Extension

Rozšíření STM32 VS Code Extension pro VS Code společně s STM32CubeMX přináší:

  • Grafickou konfiguraci mikrokontroléru – nastavení pinů, periferií a hodin bez nutnosti opouštět editor.
  • Automatické generování inicializačního kódu – na základě konfigurace se vytvoří základní kód, který lze ihned rozvíjet.
  • Podporu build systémů jako Makefile nebo CMake, což umožňuje flexibilní správu kompilace.
  • Integrované ladění a programování – propojení s nástroji jako ST-Link umožňuje ladění a flashování přímo z VS Code.

Použití

Generování projektu přímo ve VS Code

Doplněk ve VS Code umí přímo vygenerovat projekt, tento projekt ale neumí nastavit periferie, knihovny, registry. Vygenerovaný projekt je opravdu Empty project.

Generování projektu v STM32CubeMX a import do VS Code

Asi nejpohodlnější cesta. V STM32CubeMX vygenerujete projekt s nastavením periférií a při generování zvolíte možnost CMake. Projekt vygenerujete a následně ve VS Code už jen naimportujete a můžete jej jednoduše upravovat s výhodami VS Code.

Výhody řešení VS Code + STM32CubeMX

VýhodaPopis
ProstředíKonfigurace v STM32CubeMX, vývoj, build i ladění ve VS Code
FlexibilitaPodpora různých build systémů a možnost integrace s dalšími nástroji
Úspora časuAutomatizované generování kódu a jednoduchá správa projektů
PřehlednostModerní uživatelské rozhraní s inteligentními funkcemi editoru
Podpora od výrobcePravidelné aktualizace a dokumentace přímo od STMicroelectronics

Alternativy k VS Code pro vývoj STM32 a jejich srovnání

1. STM32CubeIDE

Popis:
Oficiální integrované vývojové prostředí od STMicroelectronics, založené na Eclipse. Nabízí kompletní řešení pro konfiguraci, vývoj, ladění a programování STM32.

Výhody:

  • Kompletní a integrované řešení „vše v jednom“
  • Přímá podpora STM32CubeMX konfigurace
  • Silné ladicí nástroje a podpora různých debuggerů
  • Dobrá podpora RTOS a middleware

Nevýhody:

  • Pomalejší start a vyšší nároky na systémové prostředky
  • Méně flexibilní než VS Code v přizpůsobení prostředí
  • Eclipse může být pro některé uživatele méně přehledný

2. Keil MDK-ARM

Popis:
Komplexní komerční IDE od Arm pro vývoj na ARM Cortex-M procesorech včetně STM32.

Výhody:

  • Výborná optimalizace kódu díky vlastnímu kompilátoru
  • Silné ladicí a analyzační nástroje
  • Široká podpora knihoven a middleware
  • Uživatelsky přívětivé prostředí

Nevýhody:

  • Licenční model – zdarma je dostupná pouze omezená verze
  • Omezení velikosti kódu v bezplatné verzi
  • Méně otevřený ekosystém než VS Code

3. IAR Embedded Workbench

Popis:
Další komerční IDE s vysoce optimalizovaným kompilátorem pro ARM mikrokontroléry.

Výhody:

  • Výborná optimalizace výkonu a velikosti kódu
  • Pokročilé ladicí funkce
  • Dlouhodobá podpora a stabilita

Nevýhody:

  • Vyšší cena licence
  • Uzavřený ekosystém, menší flexibilita než open-source řešení
  • Méně vhodné pro začátečníky kvůli komplexnosti

Shrnutí a doporučení

NástrojVýhodyNevýhodyDoporučeno pro
VS Code + STM32CubeMXFlexibilita, lehkost, otevřenost, rychlostVyžaduje konfiguraci nástrojů a znalostiVývojáře preferující moderní workflow
STM32CubeIDEKompletní integrované řešení, podpora STVyšší nároky na systém, méně flexibilníVývojáře hledající „vše v jednom“ IDE
Keil MDK-ARMOptimalizace kódu, silné laděníLicenční omezení, komerční nástrojProfesionální vývoj s požadavky na výkon
IAR Embedded WorkbenchŠpičková optimalizace, stabilitaVyšší cena, uzavřený ekosystémNáročné projekty s vysokými nároky na optimalizaci

Kde získat více informací?

Sdílejte článek:
Komentáře:
9 komentářů na sociálních sítích
ST má WiFi modul ve spolupráci s Qualcomem. Prodávají to pod svým partnumberem, má to podporu v CubeIDE, k procesoru se to připojuje pomocí SPI. ...více
Číst komentáře
- a -
Přidat svůj názor
Tričko Chiptron s potiskem Trust me, I'm a maker
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku
Buy Me a Coffee

Související články

Úvodní obrazovka STM32CubeIDE 2.2 s logem na modrém pozadí

Od verze 2.0 už STM32CubeIDE neobsahuje CubeMX. Test na Nucleo-F767ZI s 2.2.0: co se změnilo, co v IDE zůstalo, co přežije regeneraci a kde čeká past.

Vývojová deska Nucleo STM32L476 s mikrokontrolérem, konektory a součástkami

Další články o STM32(F7): Tutorial: STM32F746 (STM32F7 Discovery) – Tlačítkem rozsvítit/zhasnout LED Tutorial: STM32F746 (STM32F7 Discovery) – jak zapnout LED (ovládání GPIO) STM32F746 discovery a IDE AC6 (System Workbench for STM32) Jak začít s moderními mikrokontroléry a proč – STM32…

CH32V003 návod

Mikrokontroléry CH32V – určitě jste už o nich slyšeli. Prodávají se za naprosto směšnou cenu, ale mají velmi slušnou výbavu a navíc se prodavají v dobře pájitelném pouzdře. Mezi periferiemi najdete mimo klasických GPIO i SPI, ADC, UART, I2C, časovače…

Logo CHIPTRON s grafickým motivem elektronické desky

Jak jsme vám už psali na sociálních sítích, stránka http://chiptron.

CubeIDE otevřené na obrazovce se dvěma lektory ve videohovoru a grafikou desek STM32

Podrobný souhrn video návodu od Roberta Feraneca a Greidi Ajalika – jak začít programovat STM32 v CubeIDE: GPIO, přerušení, UART a debugger krok za krokem.

Raspberry Pi propojené s deskou ESP32 a JTAG adaptérem pro ladění

Daniel Skopalík sdílel návod, jak použít populární jednodeskový počítač RaspberryPi jako JTAG programátor například ESP32.

Trendy