14.1.1.1. A fejlesztői környezet beállítása

Három dologra van szükséged a gazdagépen, mielőtt fordítani tudnál: egy szerkesztőre (a VS Code ajánlott, mert a hibakereső beépül bele), egy Linux-jellegű parancsértelmezőre (WSL Windowson, natív Linuxon/macOS-en), valamint az OpenMV repóra a rögzített verziójú SDK kicsomagolásával.

14.1.1.1.1. VS Code

Bármilyen szerkesztő használható firmware-fejlesztéshez – a build egyszerűen make, és a hardveren futó hibakereső is parancssorból fut. A Visual Studio Code egyszerűen a legkönnyebb út: a A firmware hibakeresése beállítás a Cortex-Debug bővítményébe épül be, így a VS Code telepítésével ezeknek az oldalaknak a többi része azonnal működik, mind a buildelés, mind a hibakeresés.

14.1.1.1.1.1. A VS Code telepítése

  • Windows – töltsd le a telepítőt innen: code.visualstudio.com, és futtasd. A VS Code-ot Windowson telepítsd, ne a WSL-en belül; az a WSL bővítményen keresztül integrálódik a WSL-lel, a felhasználói felületét Windowson futtatva, miközben a fordító, a fájlok és a hibakereső Linuxban él.

  • macOS – töltsd le a .zip állományt innen: code.visualstudio.com, csomagold ki, és húzd a Visual Studio Code.app-ot az /Applications mappába. Vagy brew install --cask visual-studio-code.

  • Linux – telepítsd a .deb / .rpm csomagot innen: code.visualstudio.com (pl. sudo apt install ./code_*.deb), vagy használd a disztribúció Snap/Flatpak csomagját.

Telepítendő bővítmények (a Bővítmények panelről, Ctrl+Shift+X):

  • C/C++ (ms-vscode.cpptools) – C forráskód-navigáció és IntelliSense.

  • Cortex-Debug (marus25.cortex-debug) – chip-en belüli hibakeresés GDB-n és egy J-Link / OpenOCD kiszolgálón keresztül. Szükséges a A firmware hibakeresése eljáráshoz.

  • WSL (ms-vscode-remote.remote-wsl) – csak Windowson. Lehetővé teszi, hogy a VS Code egy mappát a WSL-disztribúciódon belül nyisson meg, így a szerkesztő, a terminál, az IntelliSense és a Cortex-Debug mind Linuxban működik. Telepítsd a C/C++ és a Cortex-Debug bővítményeket a WSL gazdagépbe, miután csatlakoztál (a VS Code felszólít erre).

14.1.1.1.2. Gazdagép parancsértelmező

Szükséged van egy Linux (x86-64) vagy macOS (arm64) környezetre a git és néhány alapvető eszköz mellett. Válaszd ki az operációs rendszeredhez tartozó szakaszt.

14.1.1.1.2.1. Windows: a WSL telepítése

A WSL egy valódi Ubuntu felhasználói környezetet futtat Windowson. A telepítése után az ebben az útmutatóban szereplő minden későbbi utasítás megegyezik a natív Linuxéval.

  1. Nyisd meg a PowerShellt rendszergazdaként (jobb klikk a Start gombra -> Terminál (rendszergazda)).

  2. Telepítsd a WSL-t az alapértelmezett Ubuntu disztribúcióval:

    wsl --install
    

    Ez engedélyezi a szükséges Windows-funkciókat, telepíti a WSL 2 kernelt és telepíti az Ubuntut. Indítsd újra a gépet, ha felszólít rá.

  3. Az újraindítás után az Ubuntu elindul, és felkér egy UNIX-felhasználónév és -jelszó létrehozására. Ez a fiók független a Windows-fiókodtól.

  4. Frissítsd a disztribúciót:

    sudo apt update && sudo apt upgrade -y
    
  5. Erősítsd meg, hogy WSL 2-n vagy (kötelező – a WSL 1 nem támogatott ehhez a munkafolyamathoz). A PowerShellben:

    wsl --list --verbose
    

    A VERSION oszlopnak 2-t kell mutatnia. Ha 1-et mutat, konvertáld át:

    wsl --set-version Ubuntu 2
    

Javaslat

A Linux fájlrendszerén belül dolgozz (~/ a WSL-ben), ne az /mnt/c/ alatt. A Windowsra csatolt meghajtón való buildelés drámaian lassabb, és fájljogosultsági, valamint sorvég-problémákat okozhat. Klónozd a repót a WSL home-könyvtáradba.

A projekt későbbi megnyitásához: indítsd el az Ubuntut a Start menüből egy parancsértelmezőhöz, vagy a Windowson futó VS Code-ban nyomd meg a Ctrl+Shift+P -> WSL: Connect to WSL parancsot, majd File -> Open Folder, és válaszd ki a klónozott repót a Linux fájlrendszerén.

14.1.1.1.2.2. Linux / WSL előfeltételek

Az SDK biztosítja a fordítót, ezért csak néhány gazdagép-csomagra van szükség:

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

14.1.1.1.2.3. macOS előfeltételek

A natív buildelés csak Apple-szilícium (arm64) macOS-en támogatott. A Homebrew használatával:

brew install bash make coreutils

(Az Intel-es Macek nem támogatott natív build-gazdagépek – használd a Docker-buildet innen: A firmware felépítése, vagy egy Linux VM-et.)

14.1.1.1.3. A forráskód beszerzése

Klónozd a repót az összes almodullal (MicroPython, CMSIS, gyártói illesztőprogramok stb.):

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

Egy teljes rekurzív klón nagy. Egy gyorsabb, sekély klónhoz:

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

Megjegyzés

Egy adott lap buildelésekor a make helyette csak az adott lap almoduljait is lehúzhatja:

make TARGET=<board> submodules

A fent bemutatott explicit git submodule update már mindent lefed, így ez a lépés opcionális.

14.1.1.1.4. Az OpenMV SDK telepítése

A repó gyökeréből futtasd az egyszeri SDK-telepítést:

make sdk

Ez letölti az openmv-sdk-<version>-<os>-<arch>.tar.xz állományt a download.openmv.io címről, ellenőrzi annak SHA-256 ellenőrzőösszegét, és kicsomagolja a ~/openmv-sdk-<version>/ mappába (a verziót a repó SDK_VERSION fájlja rögzíti). Idempotens – az ismételt futtatása nem tesz semmit, ha a megfelelő verzió már telepítve van, a szokásos build pedig a „OpenMV SDK not found. Run «make sdk» to install it.” üzenettel megszakad, ha hiányzik vagy rossz verziójú.

Az SDK mindent magában foglal, amire a buildnek és a hibakeresőnek szüksége van, és mindezt a Makefile automatikusan hozzáadja a PATH-hoz:

Összetevő

Cél

ARM GNU eszközlánc (arm-none-eabi-gcc 14.3)

Fordító, linker, arm-none-eabi-gdb a hibakereséshez

LLVM/clang

Egyes objektumokhoz használt bizonyos portokon

CMake, GNU Make

Build-vezérlés a gyártói könyvtárakhoz

Python (áthelyezhető)

Build-szkriptek, mpy-cross segédprogramok, aláírás, modelleszközök

STM32CubeProgrammer (STM32_Programmer_CLI)

SWD-flashelés és az STM32N6 helyreállítási folyamata

ST Edge AI

Neurálishálózat-fordító az STM32N6 NPU-hoz

dfu-util

USB DFU-flashelés

gdbrunner

A make debug cél GDB-kiszolgáló-indítója (az általa vezérelt Segger J-Link szoftver külön telepítés)

Figyelem

Az OpenMV N6 és az OpenMV AE3 Cortex-M55 magokat használ, és GCC 14.3 vagy újabb verziót igényel. A build ezt kikényszeríti ezeknél a céloknál, és egy „Upgrade to GCC 14.3+ for proper CM55 support” hibával megszakad, ha egy régebbi arm-none-eabi-gcc található a PATH-on az SDK-é előtt. A csomagolt SDK eszközlánca ezt már teljesíti; a hiba azt jelenti, hogy egy másik, régebbi eszközlánc árnyékolja le.