14.1.1.1. Menyiapkan lingkungan pengembangan¶
Anda membutuhkan tiga hal di host sebelum dapat mengompilasi: editor (VS Code direkomendasikan karena debugger terintegrasi dengannya), shell berbasis Linux (WSL di Windows, native di Linux/macOS), dan repositori OpenMV dengan SDK yang sudah diekstrak.
14.1.1.1.1. VS Code¶
Editor apa pun dapat digunakan untuk pengembangan firmware -- build hanya menggunakan make, dan debugger on-hardware juga berjalan dari baris perintah. Visual Studio Code adalah jalur paling mudah: pengaturan Men-debug firmware terintegrasi dengan ekstensi Cortex-Debug-nya, sehingga dengan VS Code yang terinstal semua halaman ini dapat langsung digunakan, baik untuk membangun maupun debugging.
14.1.1.1.1.1. Menginstal VS Code¶
Windows -- unduh installer dari code.visualstudio.com dan jalankan. Instal VS Code di Windows, bukan di dalam WSL; VS Code terintegrasi dengan WSL melalui ekstensi WSL, menjalankan UI-nya di Windows sementara compiler, file, dan debugger berada di Linux.
macOS -- unduh
.zipdari code.visualstudio.com, ekstrak, dan seret Visual Studio Code.app ke/Applications. Ataubrew install --cask visual-studio-code.Linux -- instal
.deb/.rpmdari code.visualstudio.com (misalnyasudo apt install ./code_*.deb), atau gunakan Snap/Flatpak distribusi.
Ekstensi yang perlu diinstal (dari panel Extensions, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) -- navigasi sumber C dan IntelliSense.Cortex-Debug (
marus25.cortex-debug) -- debugging on-chip melalui GDB dan server J-Link / OpenOCD. Diperlukan untuk Men-debug firmware.WSL (
ms-vscode-remote.remote-wsl) -- hanya Windows. Memungkinkan VS Code membuka folder di dalam distribusi WSL Anda sehingga editor, terminal, IntelliSense, dan Cortex-Debug semuanya beroperasi di Linux. Instal ekstensi C/C++ dan Cortex-Debug ke host WSL setelah terhubung (VS Code akan meminta ini).
14.1.1.1.2. Shell host¶
Anda membutuhkan lingkungan Linux (x86-64) atau macOS (arm64) dengan git dan beberapa alat dasar. Pilih bagian sesuai OS Anda.
14.1.1.1.2.1. Windows: instal WSL¶
WSL menjalankan userland Ubuntu asli di Windows. Setelah diinstal, setiap instruksi berikutnya dalam panduan ini identik dengan Linux native.
Buka PowerShell sebagai Administrator (klik kanan Start -> Terminal (Admin)).
Instal WSL dengan distribusi Ubuntu default:
wsl --installIni mengaktifkan fitur Windows yang diperlukan, menginstal kernel WSL 2, dan menginstal Ubuntu. Reboot jika diminta.
Setelah reboot, Ubuntu diluncurkan dan meminta Anda membuat nama pengguna dan kata sandi UNIX. Akun ini terpisah dari akun Windows Anda.
Perbarui distribusi:
sudo apt update && sudo apt upgrade -yKonfirmasi Anda menggunakan WSL 2 (diperlukan -- WSL 1 tidak didukung untuk alur kerja ini). Di PowerShell:
wsl --list --verboseKolom
VERSIONharus menampilkan2. Jika menampilkan1, konversikan:wsl --set-version Ubuntu 2
Tip
Bekerja di dalam filesystem Linux (~/ di WSL), bukan di bawah /mnt/c/. Membangun di drive yang dipasang Windows jauh lebih lambat dan dapat menyebabkan masalah izin file dan akhir baris. Clone repositori ke direktori home WSL Anda.
Untuk membuka proyek nantinya: luncurkan Ubuntu dari menu Start untuk membuka shell, atau dari VS Code di Windows tekan Ctrl+Shift+P -> WSL: Connect to WSL, lalu File -> Open Folder dan pilih repo yang sudah di-clone di filesystem Linux.
14.1.1.1.2.2. Prasyarat Linux / WSL¶
SDK menyediakan compiler, sehingga hanya beberapa paket host yang diperlukan:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. Prasyarat macOS¶
Build native didukung hanya di macOS Apple-silicon (arm64). Menggunakan Homebrew
brew install bash make coreutils
(Mac Intel bukan host build native yang didukung -- gunakan build Docker dari Membangun firmware atau VM Linux.)
14.1.1.1.3. Mengambil sumber kode¶
Clone repositori dengan semua submodul (MicroPython, CMSIS, driver vendor, dll.):
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
Clone rekursif penuh berukuran besar. Untuk clone dangkal yang lebih cepat:
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
Catatan
Saat membangun board tertentu, Anda dapat membiarkan make mengambil hanya submodul board tersebut:
make TARGET=<board> submodules
Perintah git submodule update eksplisit yang ditunjukkan di atas sudah mencakup semuanya, sehingga langkah ini opsional.
14.1.1.1.4. Menginstal OpenMV SDK¶
Dari root repositori, jalankan instalasi SDK satu kali:
make sdk
Ini mengunduh openmv-sdk-<version>-<os>-<arch>.tar.xz dari download.openmv.io, memverifikasi checksum SHA-256-nya, dan mengekstraknya ke ~/openmv-sdk-<version>/ (versi dikunci oleh file SDK_VERSION repo). Ini idempoten -- menjalankannya kembali tidak melakukan apa pun jika versi yang benar sudah terinstal, dan build reguler akan berhenti dengan pesan "OpenMV SDK not found. Run 'make sdk' to install it." jika hilang atau versinya salah.
SDK membundel semua yang dibutuhkan untuk build dan debugger, semuanya ditambahkan ke PATH secara otomatis oleh Makefile:
Komponen |
Tujuan |
|---|---|
ARM GNU toolchain ( |
Compiler, linker, |
LLVM/clang |
Digunakan untuk objek tertentu di beberapa port |
CMake, GNU Make |
Orkestrasi build untuk library vendor |
Python (relocatable) |
Skrip build, helper |
STM32CubeProgrammer ( |
Flashing SWD dan alur pemulihan STM32N6 |
ST Edge AI |
Compiler jaringan saraf untuk NPU STM32N6 |
|
Flashing USB DFU |
|
Launcher server GDB untuk target |
Peringatan
OpenMV N6 dan OpenMV AE3 menggunakan core Cortex-M55 dan membutuhkan GCC 14.3 atau lebih baru. Build menegakkan ini untuk target tersebut dan berhenti dengan pesan kesalahan "Upgrade to GCC 14.3+ for proper CM55 support" jika arm-none-eabi-gcc yang lebih lama ditemukan sebelum SDK di PATH. Toolchain SDK yang dibundel sudah memenuhi syarat ini; kesalahan tersebut berarti toolchain yang berbeda dan lebih lama sedang membayanginya.