W 2019 roku spytałem się społeczności grupy STM32 Polska na Facebooku, z jakich IDE lub innych notatników korzystają do pisania kodu na STM32. W 2019 nie mieliśmy jeszcze STM32CubeIDE, więc tamten ranking jest już nieaktualny. Pora odświeżyć statystyki. Ponownie zapytałem się programistów, z czego korzystają. Oto wyniki.
Najpopularniejsze IDE do STM32 w 2022 roku – wyniki ankiety
W zestawieniu pominąłem SW4STM32 i Atollic TreStudio. Są to IDE wymarłe, które od dawna nie są wspierane. Nie powinniśmy z nich korzystać tak naprawdę.
1. STM32CubeIDE
Nie dziwi mnie, że na pierwszym miejscu znalazło się IDE przygotowane przez firmę STMicroelectronics. Jakiś czas temu kupili oni Atollic True Studio i na jego bazie powstało połączenie Eclipse’a z STM32CubeMX.
Czemu jest takie popularne? Instalujesz i działa. Uwielbiam narzędzia Out Of The Box i nie tylko ja. Z tego IDE korzystam na co dzień zarówno jak jak i setki programistów w Polsce i na świecie.
Również z tego IDE korzystamy w Kursie STM32 dla Początkujących, którego start 4 edycji już 16 lutego 2022.
2. Visual Studio Code / PatformIO
Link do PlatformIO
Zdecydowałem się połączyć te dwa środowiska. Visual Studio Code jest szalenie popularnym “notatnikiem na sterydach” do pisania wszelkiej maści oprogramowania.
Miliony programistów z niego korzysta w zasadzie do wszystkiego.
Można w nim rzecz jasna programować mikrokontrolery STM32. Można w gołym VSC, a można skorzystać z PlatformIO, które jest dedykowane mikrokontrolerom. Można w nim pisać zarówno “w Arduino” jak i “normalnie”. Jest też debug, więc nie jest to ułomne rozwiązanie.
Do korzystania z CubeMXa w PlatformIO przydaje się wtyczka: https://github.com/ussserrr/stm32pio
Dopasowuje projekt z CubeMX do pracy z PlatformIO.
3. Keil µVision IDE (MDK)
Środowisko prosto od firmy ARM. Ponoć najlepszy, a przynajmniej tak twierdzi wielu użytkowników. Nie jest zamknięty tylko na STM32. Potrafi programować OOTB wszystkie ARMy.
Posiada własny, wydajny kompilator. Niestety ma dwie ogromne według mnie wady:
- Interfejs zatrzymał się 1995 roku
- Jest płatny
Istnieje darmowa wersja i nazywa się ona MDK-Lite Edition. Kiedyś była darmowa bez ograniczeń dla rdzeni Cortex-M0 i Cortex-M0+. Teraz jest limit kodu wynikowego do 32kB. Jak wiemy, często programy na STM32 przekraczają tę wartość, zwłaszcza pisane z HALem 🙂
4. CLion
Jeśli ktoś pracował na jakimkolwiek pakiecie od JetBrains to może wyobrazić sobie co to jest.
Każde IDE z ich ręki jest bardzo dobre. Jest trochę osób programujących mikrokontrolery w CLion, które jest dedykowane pod język C/C++.
Narzędzie jest płatne, ale ma 30 dniowy Trial.
5. Segger Embedded Studio
Multiplatformowe IDE od firmy Segger.
Firma ta robi genialne debuggery, które potrafią przechwytywać instrukcje mikrokontrolera w czasie rzeczywistym. Do pełnej obsługi ich debuggerów zaleca się krozystać z narzędzi od Seggera.
Jednym z takich narzędzi jest IDE, czyli Segger Embedded Studio. Jest cross-platformowe (Windows, Linux, Mac). Wbudowany Clang/LLVM, GCC jest na plus. Mało tego! Ma on również toolchain C/C++ od Seggera.
Warto spróbować. Jest darmowy do użytku niekomercyjnego.
Kurs STM32 dla Początkujących
Już 16 lutego wraca najlepszy kurs programowania STM32 dla Początkujących! To już czwarta edycja!
Jest to kompletny program od A do Z, w którym nauczysz się programowania mikrokontrolerów STM32. Poznasz jego interfejsy i będziesz umieć z nich skorzystać w sposób prawidłowy i nieblokujący.
Nie przegap szansy! Następna edycja będzie prawdopodobnie dopiero w drugiej połowie 2022 roku.
Dotychczas w kursie wzięło udział ponad 470 osób!
5 komentarzy
darkanzali · 11/03/2024 o 20:11
Bawię się elektroniką hobbystycznie ale komercyjnie programuję aplikacje chmurowe i po 5 minutach “prób” programowania w STM32CubeIDE zacząłem szukać jak tu programować w CLion. Nigdy nie potrafiłem przekonać się do Eclipse ze względu na toporność i totalny brak ergonomii, nie wspominając o takich brakach jak podpowiadanie składni na żywo co jest game changerem dla początkujących, nie wspominając o AI, które też obecnie mocno pomaga stawiać pierwsze kroki w nowej technologii. Zawsze mnie zadziwiało dlaczego nikt z producentów mikrokontrolerów, fpga itd, nie potrafi napisać porządnego IDE na miarę 21 wieku i kopiują te swoje potworki – gdy tykam się tych tworów to za każdym razem czuję się jakbym się cofnął kilkanaście lat do czasów kiedy uczyłem się programować.
Programowanie sprzętu jest niesamowicie satyfkacjonujące, ale korzystanie z narzędzi typu STM32CubeIDE to droga przez mękę dla kogoś kto używał porządnych IDE do programowania wysokopoziomowego.
Tomasz · 11/02/2022 o 21:30
Aktualnie mam niezbyt wielkie doświadczenie z środowiskiem IDE dla mikrokontrolerów. Kiedyś działałem w Atmel Studio.
Czasem bawię się w STM32CubeIDE, dla mnie to środowisko będzie odpowiednie w kursie STM32.
Mateusz Salamon · 15/02/2022 o 09:27
Z STM32CubeIDE korzystamy właśnie w kursie https://kursstm32.pl 🙂
Tomasz Dura · 11/02/2022 o 09:45
Warto wspomnieć o bardzo fajnym programie, który umożliwia generowanie (oraz aktualizowanie) projektu PlatformIO na podstawie pliku .ioc z CubeMX
https://github.com/ussserrr/stm32pio
Niedawno porzuciłem STM32CubeIDE na rzecz Visual Studio Code + PlatformIO + stm32pio + CubeMX
Wygoda korzystania niemalże taka sama jak z STM32CubeIDE, tyle, że trzeba dodatkowo odpalić jedno polecenie z terminala.
Mateusz Salamon · 15/02/2022 o 09:28
Dzięki! Dorzuacam do wpisu!