14.1.1.1. Konfiguracja środowiska programistycznego¶
Zanim będziesz mógł skompilować, potrzebujesz na hoście trzech rzeczy: edytora (zalecany jest VS Code, ponieważ wpina się w niego debuger), powłoki w stylu Linuksa (WSL w systemie Windows, natywnie w Linux/macOS) oraz repozytorium OpenMV z rozpakowanym przypiętym SDK.
14.1.1.1.1. VS Code¶
Do tworzenia oprogramowania układowego nadaje się dowolny edytor – kompilacja to po prostu make, a debuger sprzętowy działa również z wiersza poleceń. Visual Studio Code jest po prostu najprostszą drogą: konfiguracja Debugowanie oprogramowania układowego wpina się w jego rozszerzenie Cortex-Debug, więc z zainstalowanym VS Code reszta tych stron działa od razu, zarówno przy budowaniu, jak i przy debugowaniu.
14.1.1.1.1.1. Instalacja VS Code¶
Windows – pobierz instalator ze strony code.visualstudio.com i uruchom go. Zainstaluj VS Code w systemie Windows, a nie wewnątrz WSL; integruje się on z WSL poprzez rozszerzenie WSL, uruchamiając swój interfejs użytkownika w systemie Windows, podczas gdy kompilator, pliki i debuger znajdują się w Linuksie.
macOS – pobierz plik
.zipze strony code.visualstudio.com, rozpakuj go i przeciągnij Visual Studio Code.app do/Applications. Albo użyjbrew install --cask visual-studio-code.Linux – zainstaluj plik
.deb/.rpmze strony code.visualstudio.com (np.sudo apt install ./code_*.deb) lub użyj pakietu Snap/Flatpak swojej dystrybucji.
Rozszerzenia do zainstalowania (z panelu Extensions, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) – nawigacja po kodzie źródłowym C oraz IntelliSense.Cortex-Debug (
marus25.cortex-debug) – debugowanie na chipie przez GDB i serwer J-Link / OpenOCD. Wymagane dla Debugowanie oprogramowania układowego.WSL (
ms-vscode-remote.remote-wsl) – tylko Windows. Umożliwia VS Code otwarcie folderu wewnątrz twojej dystrybucji WSL, dzięki czemu edytor, terminal, IntelliSense oraz Cortex-Debug działają w Linuksie. Po połączeniu zainstaluj rozszerzenia C/C++ oraz Cortex-Debug w hoście WSL (VS Code wyświetli odpowiednią prośbę).
14.1.1.1.2. Powłoka hosta¶
Potrzebujesz środowiska Linux (x86-64) lub macOS (arm64) z git oraz kilkoma podstawowymi narzędziami. Wybierz sekcję odpowiednią dla swojego systemu operacyjnego.
14.1.1.1.2.1. Windows: instalacja WSL¶
WSL uruchamia w systemie Windows prawdziwą przestrzeń użytkownika Ubuntu. Po jego zainstalowaniu każda kolejna instrukcja w tym przewodniku jest identyczna jak w natywnym Linuksie.
Otwórz PowerShell jako Administrator (kliknij prawym przyciskiem myszy na Start -> Terminal (Admin)).
Zainstaluj WSL z domyślną dystrybucją Ubuntu:
wsl --installSpowoduje to włączenie wymaganych funkcji systemu Windows, zainstalowanie jądra WSL 2 oraz zainstalowanie Ubuntu. Uruchom ponownie komputer, jeśli pojawi się odpowiedni komunikat.
Po ponownym uruchomieniu Ubuntu zostaje uruchomione i prosi o utworzenie nazwy użytkownika oraz hasła UNIX. To konto jest niezależne od twojego konta Windows.
Zaktualizuj dystrybucję:
sudo apt update && sudo apt upgrade -yPotwierdź, że używasz WSL 2 (wymagane – WSL 1 nie jest obsługiwany w tym przepływie pracy). W programie PowerShell:
wsl --list --verboseKolumna
VERSIONmusi pokazywać2. Jeśli pokazuje1, przekonwertuj dystrybucję:wsl --set-version Ubuntu 2
Wskazówka
Pracuj wewnątrz systemu plików Linuksa (~/ w WSL), a nie pod /mnt/c/. Budowanie na dysku zamontowanym z Windows jest znacznie wolniejsze i może powodować problemy z uprawnieniami do plików oraz znakami końca wiersza. Sklonuj repozytorium do swojego katalogu domowego WSL.
Aby otworzyć projekt później: uruchom Ubuntu z menu Start, aby uzyskać powłokę, albo w VS Code w systemie Windows naciśnij Ctrl+Shift+P -> WSL: Connect to WSL, następnie File -> Open Folder i wybierz sklonowane repozytorium w systemie plików Linuksa.
14.1.1.1.2.2. Wymagania wstępne Linux / WSL¶
SDK dostarcza kompilator, więc potrzebna jest tylko garstka pakietów hosta:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. Wymagania wstępne macOS¶
Budowanie natywne jest obsługiwane wyłącznie na macOS z układami Apple silicon (arm64). Z użyciem Homebrew
brew install bash make coreutils
(Maki z procesorami Intel nie są obsługiwanym natywnym hostem budowania – użyj kompilacji w Dockerze z Budowanie oprogramowania układowego lub maszyny wirtualnej z Linuksem.)
14.1.1.1.3. Pobieranie kodu źródłowego¶
Sklonuj repozytorium ze wszystkimi submodułami (MicroPython, CMSIS, sterowniki producentów itp.):
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
Pełny rekurencyjny klon jest duży. Aby uzyskać szybszy, płytki klon:
git clone --depth=1 https://github.com/openmv/openmv.git
cd openmv
git submodule update --init --depth=1 --no-single-branch
git -C lib/micropython/ submodule update --init --depth=1
Informacja
Przy budowaniu konkretnej płytki możesz zamiast tego pozwolić make pobrać tylko submoduły tej płytki:
make TARGET=<board> submodules
Pokazane powyżej jawne git submodule update obejmuje już wszystko, więc ten krok jest opcjonalny.
14.1.1.1.4. Instalacja OpenMV SDK¶
Z katalogu głównego repozytorium uruchom jednorazową instalację SDK:
make sdk
Pobiera ono openmv-sdk-<version>-<os>-<arch>.tar.xz z download.openmv.io, weryfikuje sumę kontrolną SHA-256 i rozpakowuje je do ~/openmv-sdk-<version>/ (wersja jest przypięta przez plik SDK_VERSION repozytorium). Jest idempotentne – ponowne uruchomienie nic nie robi, jeśli właściwa wersja jest już zainstalowana, a zwykła kompilacja przerywa się z komunikatem „OpenMV SDK not found. Run «make sdk» to install it.”, jeśli SDK brakuje lub jest w niewłaściwej wersji.
SDK zawiera wszystko, czego potrzebują kompilacja i debuger, a wszystko to jest automatycznie dodawane do PATH przez Makefile:
Komponent |
Przeznaczenie |
|---|---|
Łańcuch narzędzi ARM GNU ( |
Kompilator, linker, |
LLVM/clang |
Używany dla wybranych obiektów na niektórych portach |
CMake, GNU Make |
Orkiestracja kompilacji bibliotek producentów |
Python (relokowalny) |
Skrypty kompilacji, pomocnicze narzędzia |
STM32CubeProgrammer ( |
Wgrywanie przez SWD oraz przepływ odzyskiwania STM32N6 |
ST Edge AI |
Kompilator sieci neuronowych dla NPU STM32N6 |
|
Wgrywanie przez USB DFU |
|
Program uruchamiający serwer GDB celu |
Ostrzeżenie
OpenMV N6 oraz OpenMV AE3 używają rdzeni Cortex-M55 i wymagają GCC 14.3 lub nowszego. Kompilacja wymusza to dla tych celów i przerywa się z błędem „Upgrade to GCC 14.3+ for proper CM55 support”, jeśli przed wersją z SDK w PATH zostanie znaleziony starszy arm-none-eabi-gcc. Dołączony łańcuch narzędzi SDK już spełnia ten wymóg; błąd oznacza, że przesłania go inny, starszy łańcuch narzędzi.