14.1.1.1. Postavljanje razvojnog okruženja

Na računalu domaćinu trebate tri stvari prije nego što možete kompilirati: uređivač (preporučuje se VS Code jer se program za otklanjanje pogrešaka uključuje u njega), ljusku u Linux stilu (WSL na Windowsima, nativnu na Linuxu/macOS-u) i OpenMV repozitorij s raspakiranim fiksiranim SDK-om.

14.1.1.1.1. VS Code

Bilo koji uređivač radi za razvoj ugrađenog programa – izgradnja je samo make, a program za otklanjanje pogrešaka na hardveru također se pokreće iz naredbenog retka. Visual Studio Code jednostavno je najlakši put: postavljanje Otklanjanje pogrešaka u ugrađenom programu (firmware) uključuje se u njegovo proširenje Cortex-Debug, pa s instaliranim VS Codeom ostatak ovih stranica radi bez dodatnog podešavanja, kako za izgradnju tako i za otklanjanje pogrešaka.

14.1.1.1.1.1. Instalacija VS Codea

  • Windows – preuzmite instalacijski program s code.visualstudio.com i pokrenite ga. Instalirajte VS Code na Windowsima, ne unutar WSL-a; integrira se s WSL-om kroz proširenje WSL, pokrećući svoje korisničko sučelje na Windowsima dok kompajler, datoteke i program za otklanjanje pogrešaka žive u Linuxu.

  • macOS – preuzmite .zip s code.visualstudio.com, raspakirajte ga i povucite Visual Studio Code.app u /Applications. Ili brew install --cask visual-studio-code.

  • Linux – instalirajte .deb / .rpm s code.visualstudio.com (npr. sudo apt install ./code_*.deb), ili upotrijebite Snap/Flatpak svoje distribucije.

Proširenja za instalaciju (s ploče Extensions, Ctrl+Shift+X):

  • C/C++ (ms-vscode.cpptools) – navigacija C izvornim kodom i IntelliSense.

  • Cortex-Debug (marus25.cortex-debug) – otklanjanje pogrešaka na čipu preko GDB-a i J-Link / OpenOCD poslužitelja. Potrebno za Otklanjanje pogrešaka u ugrađenom programu (firmware).

  • WSL (ms-vscode-remote.remote-wsl) – samo Windows. Omogućuje VS Codeu otvaranje mape unutar vaše WSL distribucije tako da uređivač, terminal, IntelliSense i Cortex-Debug svi rade u Linuxu. Instalirajte proširenja C/C++ i Cortex-Debug u WSL domaćina nakon povezivanja (VS Code vas zatraži za to).

14.1.1.1.2. Ljuska domaćina

Trebate Linux (x86-64) ili macOS (arm64) okruženje s git i nekoliko osnovnih alata. Odaberite odjeljak za svoj OS.

14.1.1.1.2.1. Windows: instalacija WSL-a

WSL pokreće pravi Ubuntu korisnički prostor na Windowsima. Nakon što je instaliran, svaka kasnija uputa u ovom vodiču identična je nativnom Linuxu.

  1. Otvorite PowerShell kao administrator (desni klik na Start -> Terminal (Admin)).

  2. Instalirajte WSL sa zadanom Ubuntu distribucijom:

    wsl --install
    

    Ovo omogućuje potrebne Windows značajke, instalira WSL 2 jezgru i instalira Ubuntu. Ponovno pokrenite računalo ako se zatraži.

  3. Nakon ponovnog pokretanja, Ubuntu se pokreće i traži od vas da stvorite UNIX korisničko ime i lozinku. Ovaj je račun neovisan o vašem Windows računu.

  4. Ažurirajte distribuciju:

    sudo apt update && sudo apt upgrade -y
    
  5. Potvrdite da ste na WSL 2 (potrebno – WSL 1 nije podržan za ovaj tijek rada). U PowerShellu:

    wsl --list --verbose
    

    Stupac VERSION mora pokazivati 2. Ako pokazuje 1, pretvorite ga:

    wsl --set-version Ubuntu 2
    

Savjet

Radite unutar Linux datotečnog sustava (~/ u WSL-u), ne pod /mnt/c/. Izgradnja na Windows-montiranom disku dramatično je sporija i može uzrokovati probleme s dozvolama datoteka i prekidima redaka. Klonirajte repozitorij u svoj WSL kućni direktorij.

Za kasnije otvaranje projekta: pokrenite Ubuntu iz izbornika Start za ljusku, ili iz VS Codea na Windowsima pritisnite Ctrl+Shift+P -> WSL: Connect to WSL, zatim File -> Open Folder i odaberite klonirani repozitorij u Linux datotečnom sustavu.

14.1.1.1.2.2. Preduvjeti za Linux / WSL

SDK osigurava kompajler, pa je potrebno samo nekoliko paketa domaćina:

sudo apt-get update
sudo apt-get install git build-essential

14.1.1.1.2.3. Preduvjeti za macOS

Nativna izgradnja podržana je samo na macOS-u s Apple silicijem (arm64). Pomoću Homebrewa

brew install bash make coreutils

(Intel mac računala nisu podržani nativni domaćin za izgradnju – upotrijebite Docker izgradnju iz Izgradnja ugrađenog programa (firmware) ili Linux VM.)

14.1.1.1.3. Dohvaćanje izvornog koda

Klonirajte repozitorij sa svim podmodulima (MicroPython, CMSIS, upravljački programi proizvođača, itd.):

git clone --recursive https://github.com/openmv/openmv.git
cd openmv

Potpuni rekurzivni klon je velik. Za brži, plitki 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

Napomena

Pri izgradnji određene pločice možete umjesto toga pustiti da make dohvati samo podmodule te pločice:

make TARGET=<board> submodules

Eksplicitni git submodule update prikazan iznad već pokriva sve, pa je ovaj korak neobavezan.

14.1.1.1.4. Instalacija OpenMV SDK-a

Iz korijena repozitorija pokrenite jednokratnu instalaciju SDK-a:

make sdk

Ovo preuzima openmv-sdk-<version>-<os>-<arch>.tar.xz s download.openmv.io, provjerava njegov SHA-256 kontrolni zbroj i raspakirava ga u ~/openmv-sdk-<version>/ (verzija je fiksirana datotekom SDK_VERSION repozitorija). Idempotentno je – ponovno pokretanje ne radi ništa ako je ispravna verzija već instalirana, a uobičajena izgradnja prekida se s „OpenMV SDK not found. Run ‘make sdk’ to install it.” ako nedostaje ili je pogrešna verzija.

SDK uključuje sve što izgradnja i program za otklanjanje pogrešaka trebaju, sve automatski dodano u PATH putem Makefilea:

Komponenta

Svrha

ARM GNU lanac alata (arm-none-eabi-gcc 14.3)

Kompajler, povezivač, arm-none-eabi-gdb za otklanjanje pogrešaka

LLVM/clang

Koristi se za odabrane objekte na nekim portovima

CMake, GNU Make

Orkestracija izgradnje za biblioteke proizvođača

Python (relokacijski)

Skripte za izgradnju, mpy-cross pomoćnici, potpisivanje, alati za modele

STM32CubeProgrammer (STM32_Programmer_CLI)

SWD zapisivanje i tijek oporavka STM32N6

ST Edge AI

Kompajler neuronskih mreža za STM32N6 NPU

dfu-util

USB DFU zapisivanje

gdbrunner

Pokretač GDB poslužitelja za cilj make debug (Segger J-Link softver kojim upravlja zasebna je instalacija)

Upozorenje

OpenMV N6 i OpenMV AE3 koriste Cortex-M55 jezgre i zahtijevaju GCC 14.3 ili noviji. Izgradnja to nameće za te ciljeve i prekida se s pogreškom „Upgrade to GCC 14.3+ for proper CM55 support” ako se ispred SDK-ovog u PATH pronađe stariji arm-none-eabi-gcc. Priloženi SDK lanac alata već zadovoljava ovo; pogreška znači da ga zasjenjuje drugi, stariji lanac alata.