Powrót do strony głównej

Xbuild MCU dla VSCode i STM32

Rozszerzenie Xbuild MCU dla VSCode zastępuje STM32CubeIDE w embedded-programowaniu. Obsługuje autogenerację projektów, import z CubeMX, budowanie na Xmake i debugowanie. Idealne dla zespołów z podmodułami Git i szablonami.

Zamiana CubeIDE: Xbuild MCU w VSCode
Advertisement 728x90

Xbuild MCU: rozszerzenie VSCode do budowania projektów STM32

Programiści systemów wbudowanych na STM32 często napotykają niedogodności środowisk IDE opartych na Eclipse, takich jak STM32CubeIDE. Alternatywą jest rozszerzenie Xbuild MCU dla VSCode, które integruje automatyczne generowanie projektów, kompilację opartą na Xmake (Lua), import z CubeMX oraz debugowanie przez Cortex-Debug. Pozwala to połączyć edycję, kompilację i programowanie w jednym środowisku bez przełączania.

Rozszerzenie jest skierowane do programistów średnio- i wyższego szczebla: zachowuje terminologię techniczną, wspiera GCC/G++, JLink i moduły Git. Przetestowane na rzeczywistych projektach, ale znajduje się w aktywnej fazie rozwoju.

Tworzenie i podstawowa konfiguracja projektu

Otwórz pusty folder w VSCode. Rozszerzenie wykryje brak pliku xmake.lua i zaproponuje jego wygenerowanie. Wybierz preset dla MCU (np. STM32F103), skonfiguruj ścieżki:

Google AdInline article slot
  • JLINK_PATH: ścieżka do JLink.exe (np. c:/Programs/JLink_V872a/JLink.exe).
  • STM32_SDK: ścieżka do ARM GCC z STM32CubeIDE (np. c:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.0.202510090749/tools).

W sekcji MCU określ definicje i ścieżki include. Użyj "Reset to STM32F103 Defaults" do rozpoczęcia, następnie dostosuj do projektu. Wartości są pobierane z CubeIDE.

Import z CubeMX: wskaż ścieżkę do projektu .ioc. Kopiowane są plik startowy, skrypt linkera, sterowniki HAL. Pliki main.c i kod użytkownika nie są dotykane — zakładana jest niestandardowa struktura.

Zarządzanie modułami Git i szablonami

W ustawieniach użytkownika VSCode ustaw listę korporacyjnych modułów. Rozszerzenie doda przyciski do podłączania/usuwania jednym kliknięciem.

Google AdInline article slot

Dla struktury projektu użyj folderu templates w katalogu głównym (zalecane jako moduł Git). Generowanie utworzy foldery, pliki i definicje według szablonu, po czym szablon zostanie usunięty.

Automatycznie generowany jest .vscode/launch.json dla Cortex-Debug.

Kompilacja, optymalizacja i analiza

Obsługiwane są konfiguracje Debug/Release z poziomami optymalizacji (-O0, -O1, -Os, -O2, -O3). Po kompilacji wyświetlane jest użycie Flash/RAM w procentach, analogicznie do ESP-IDF.

Google AdInline article slot

Lista dostępnych optymalizacji z opisami w rozwijanym menu:

  • -O0: bez optymalizacji, do debugowania.
  • -O1: minimalne optymalizacje.
  • -O2: agresywne optymalizacje prędkości.
  • -O3: maksimum prędkości, ryzykownie dla debugowania.
  • -Os: optymalizacja rozmiaru.

Jeśli zainstalowany jest Doxygen, generowana jest dokumentacja projektu.

Co jest ważne

  • Automatyczne generowanie xmake.lua i .vscode/launch.json minimalizuje ręczną konfigurację.
  • Import plików CubeMX bez nadpisywania kodu użytkownika.
  • Integracja modułów Git i szablonów dla rozwoju zespołowego.
  • Analiza użycia pamięci po każdej kompilacji.
  • Podstawowa obsługa Doxygen do dokumentacji.

Rozszerzenie nie jest uniwersalne: stworzone pod konkretne potrzeby, ale adaptowalne przez skrypty Lua i szablony. Dla rozwoju STM32 na VSCode — funkcjonalna zamiana CubeIDE z naciskiem na zwięzłość.

— Editorial Team

Advertisement 728x90

Czytaj dalej