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
.zips code.visualstudio.com, raspakirajte ga i povucite Visual Studio Code.app u/Applications. Ilibrew install --cask visual-studio-code.Linux – instalirajte
.deb/.rpms 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.
Otvorite PowerShell kao administrator (desni klik na Start -> Terminal (Admin)).
Instalirajte WSL sa zadanom Ubuntu distribucijom:
wsl --installOvo omogućuje potrebne Windows značajke, instalira WSL 2 jezgru i instalira Ubuntu. Ponovno pokrenite računalo ako se zatraži.
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.
Ažurirajte distribuciju:
sudo apt update && sudo apt upgrade -yPotvrdite da ste na WSL 2 (potrebno – WSL 1 nije podržan za ovaj tijek rada). U PowerShellu:
wsl --list --verboseStupac
VERSIONmora pokazivati2. Ako pokazuje1, 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 ( |
Kompajler, povezivač, |
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, |
STM32CubeProgrammer ( |
SWD zapisivanje i tijek oporavka STM32N6 |
ST Edge AI |
Kompajler neuronskih mreža za STM32N6 NPU |
|
USB DFU zapisivanje |
|
Pokretač GDB poslužitelja za cilj |
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.