14.1.1.1. Geliştirme ortamını kurma

Derleme yapabilmeniz için ana makinede üç şeye ihtiyacınız var: bir düzenleyici (hata ayıklayıcı buna entegre olduğu için VS Code önerilir), Linux türünde bir kabuk (Windows’ta WSL, Linux/macOS’ta yerel) ve sabitlenmiş SDK çıkarılmış OpenMV deposu.

14.1.1.1.1. VS Code

Aygıt yazılımı geliştirme için herhangi bir düzenleyici işe yarar – derleme yalnızca make ile yapılır ve donanım üzerindeki hata ayıklayıcı da komut satırından çalışır. Visual Studio Code yalnızca en kolay yoldur: Aygıt yazılımının hata ayıklaması kurulumu onun Cortex-Debug uzantısına entegre olur, bu nedenle VS Code kuruluyken bu sayfaların geri kalanı hem derleme hem de hata ayıklama için kutudan çıktığı gibi çalışır.

14.1.1.1.1.1. VS Code’u kurma

  • Windows – yükleyiciyi code.visualstudio.com adresinden indirin ve çalıştırın. VS Code’u WSL içinde değil, Windows üzerine kurun; WSL uzantısı aracılığıyla WSL ile entegre olur, kullanıcı arayüzünü Windows’ta çalıştırırken derleyici, dosyalar ve hata ayıklayıcı Linux’ta bulunur.

  • macOS.zip dosyasını code.visualstudio.com adresinden indirin, açın ve Visual Studio Code.app dosyasını /Applications klasörüne sürükleyin. Veya brew install --cask visual-studio-code.

  • Linux.deb / .rpm dosyasını code.visualstudio.com adresinden kurun (örn. sudo apt install ./code_*.deb) veya dağıtımın Snap/Flatpak’ini kullanın.

Kurulacak uzantılar (Uzantılar panelinden, Ctrl+Shift+X):

  • C/C++ (ms-vscode.cpptools) – C kaynak gezinmesi ve IntelliSense.

  • Cortex-Debug (marus25.cortex-debug) – GDB ve bir J-Link / OpenOCD sunucusu aracılığıyla çip üzerinde hata ayıklama. Aygıt yazılımının hata ayıklaması için gereklidir.

  • WSL (ms-vscode-remote.remote-wsl) – yalnızca Windows. VS Code’un WSL dağıtımınızın içindeki bir klasörü açmasını sağlar, böylece düzenleyici, terminal, IntelliSense ve Cortex-Debug’ın tümü Linux’ta çalışır. Bağlandıktan sonra C/C++ ve Cortex-Debug uzantılarını bir kez WSL ana makinesine kurun (VS Code bunu sizden ister).

14.1.1.1.2. Ana makine kabuğu

git ve birkaç temel araca sahip bir Linux (x86-64) veya macOS (arm64) ortamına ihtiyacınız var. İşletim sisteminize uygun bölümü seçin.

14.1.1.1.2.1. Windows: WSL kurma

WSL, Windows üzerinde gerçek bir Ubuntu kullanıcı alanı çalıştırır. Kurulduktan sonra, bu kılavuzdaki sonraki tüm talimatlar yerel Linux ile aynıdır.

  1. PowerShell’i Yönetici olarak açın (Başlat’a sağ tıklayın -> Terminal (Admin)).

  2. Varsayılan Ubuntu dağıtımıyla WSL’yi kurun:

    wsl --install
    

    Bu, gerekli Windows özelliklerini etkinleştirir, WSL 2 çekirdeğini kurar ve Ubuntu’yu kurar. İstenirse yeniden başlatın.

  3. Yeniden başlatmanın ardından Ubuntu açılır ve bir UNIX kullanıcı adı ile parola oluşturmanızı ister. Bu hesap Windows hesabınızdan bağımsızdır.

  4. Dağıtımı güncelleyin:

    sudo apt update && sudo apt upgrade -y
    
  5. WSL 2 üzerinde olduğunuzu doğrulayın (gereklidir – bu iş akışı için WSL 1 desteklenmez). PowerShell’de:

    wsl --list --verbose
    

    VERSION sütunu 2 demelidir. 1 diyorsa, onu dönüştürün:

    wsl --set-version Ubuntu 2
    

Tüyo

Linux dosya sistemi içinde (WSL’de ~/) çalışın, /mnt/c/ altında değil. Windows’a bağlı sürücüde derleme yapmak çarpıcı şekilde daha yavaştır ve dosya izni ile satır sonu sorunlarına neden olabilir. Depoyu WSL ana dizininize klonlayın.

Projeyi daha sonra açmak için: bir kabuk için Başlat menüsünden Ubuntu‘yu başlatın veya Windows’taki VS Code’dan Ctrl+Shift+P -> WSL: Connect to WSL tuşlarına basın, ardından File -> Open Folder ile Linux dosya sistemindeki klonlanmış depoyu seçin.

14.1.1.1.2.2. Linux / WSL ön koşulları

SDK derleyiciyi sağlar, bu nedenle yalnızca birkaç ana makine paketi gereklidir:

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

14.1.1.1.2.3. macOS ön koşulları

Yerel derleme yalnızca Apple-silikon (arm64) macOS üzerinde desteklenir. Homebrew kullanarak:

brew install bash make coreutils

(Intel mac’ler desteklenen bir yerel derleme ana makinesi değildir – Aygıt yazılımını derleme sayfasındaki Docker derlemesini veya bir Linux VM’sini kullanın.)

14.1.1.1.3. Kaynağı alma

Depoyu tüm alt modüllerle birlikte klonlayın (MicroPython, CMSIS, üretici sürücüleri vb.):

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

Tam özyinelemeli bir klon büyüktür. Daha hızlı, sığ bir klon için:

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

Not

Belirli bir kart derlerken, bunun yerine make‘in yalnızca o kartın alt modüllerini çekmesine izin verebilirsiniz:

make TARGET=<board> submodules

Yukarıda gösterilen açık git submodule update zaten her şeyi kapsar, bu nedenle bu adım isteğe bağlıdır.

14.1.1.1.4. OpenMV SDK’yı kurma

Depo kök dizininden, tek seferlik SDK kurulumunu çalıştırın:

make sdk

Bu, download.openmv.io adresinden openmv-sdk-<version>-<os>-<arch>.tar.xz dosyasını indirir, SHA-256 sağlama toplamını doğrular ve ~/openmv-sdk-<version>/ dizinine çıkarır (sürüm, deponun SDK_VERSION dosyası tarafından sabitlenir). İşlem idempotenttir – doğru sürüm zaten kuruluysa yeniden çalıştırmak hiçbir şey yapmaz ve eksikse veya yanlış sürümse normal derleme “OpenMV SDK not found. Run ‘make sdk’ to install it.” ile durur.

SDK, derlemenin ve hata ayıklayıcının ihtiyaç duyduğu her şeyi içerir; tümü Makefile tarafından otomatik olarak PATH‘e eklenir:

Bileşen

Amaç

ARM GNU araç zinciri (arm-none-eabi-gcc 14.3)

Derleyici, bağlayıcı, hata ayıklama için arm-none-eabi-gdb

LLVM/clang

Bazı portlarda seçili nesneler için kullanılır

CMake, GNU Make

Üretici kütüphaneleri için derleme orkestrasyonu

Python (yeniden konumlandırılabilir)

Derleme betikleri, mpy-cross yardımcıları, imzalama, model araçları

STM32CubeProgrammer (STM32_Programmer_CLI)

SWD flash işlemi ve STM32N6 kurtarma akışı

ST Edge AI

STM32N6 NPU için sinir ağı derleyicisi

dfu-util

USB DFU flash işlemi

gdbrunner

make debug hedefinin GDB sunucusu başlatıcısı (sürdüğü Segger J-Link yazılımı ayrı bir kurulumdur)

Uyarı

OpenMV N6 ve OpenMV AE3, Cortex-M55 çekirdekleri kullanır ve GCC 14.3 veya daha yenisini gerektirir. Derleme, bu hedefler için bunu zorunlu kılar ve PATH üzerinde SDK’nınkinden önce daha eski bir arm-none-eabi-gcc bulunursa “Upgrade to GCC 14.3+ for proper CM55 support” hatasıyla durur. Birlikte gelen SDK araç zinciri bunu zaten karşılar; hata, farklı, daha eski bir araç zincirinin onu gölgelediği anlamına gelir.