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/Applicationsmappába. Vagybrew install --cask visual-studio-code.Linux – telepítsd a
.deb/.rpmcsomagot 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.
Nyisd meg a PowerShellt rendszergazdaként (jobb klikk a Start gombra -> Terminál (rendszergazda)).
Telepítsd a WSL-t az alapértelmezett Ubuntu disztribúcióval:
wsl --installEz 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á.
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.
Frissítsd a disztribúciót:
sudo apt update && sudo apt upgrade -yErősítsd meg, hogy WSL 2-n vagy (kötelező – a WSL 1 nem támogatott ehhez a munkafolyamathoz). A PowerShellben:
wsl --list --verboseA
VERSIONoszlopnak2-t kell mutatnia. Ha1-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 ( |
Fordító, linker, |
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, |
STM32CubeProgrammer ( |
SWD-flashelés és az STM32N6 helyreállítási folyamata |
ST Edge AI |
Neurálishálózat-fordító az STM32N6 NPU-hoz |
|
USB DFU-flashelés |
|
A |
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.