14.1.1.3. Aygıt yazılımını flash’lama

Aygıt yazılımını derleme adımından bir firmware.bin (ve onun romfs<n>.img dosyası) elde ettiğinizde, bunu kameraya programlayın. OpenMV IDE önerilen yöntemdir; komut satırı yordamı kamera ailesine göre değişir ve sayfanın altında bağlantısı verilen sayfalarda her aile için belgelenmiştir. Önyükleyicinin (bootloader) kendisi ayrı olarak geri yüklenir – bkz. Önyükleyiciyi (bootloader) geri yükleme.

14.1.1.3.2. Windows: USB sürücülerini kurma

Windows’un kameranın USB DFU, SDP ve ISP arabirimleri için yerleşik bir sürücüsü yoktur, bu nedenle komut satırı araçları (dfu-util, NXP SPSDK araçları, Alif SE Tools) bir WinUSB sürücüsü cihaza bağlanana kadar cihazı algılayamaz. OpenMV IDE’nin Windows kurulum programı tüm bu sürücüleri kurar, dolayısıyla en basit yaklaşım OpenMV IDE’yi bir kez kurmaktır – bundan sonra hem IDE hem de komut satırı araçları çalışır. GUI ile flash’lamanın yeni bir Windows makinesinde başarılı olup tek başına dfu-util çalışmamasının nedeni budur.

IDE’yi kurmak bir seçenek değilse, eşleşen sürücü kurulum programını OpenMV IDE’nin share/qtcreator/drivers/ dizininden Yönetici olarak çalıştırın:

Sürücü kurulum programı

Bağladığı USB cihazları

openmv\openmv.cmd

OpenMV DFU cihazları ve RT1062 SPSDK arabirimleri (0x1FC9:0x0135 SDP ROM ve 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

Arduino DFU cihazları (2341:03xx)

ftdi\ftdi.cmd

AE3 önyükleyici (bootloader) kurtarması için kullanılan FTDI 0403:6015 adaptörü

DFU_Driver\STM32Bootloader.bat

STM32 önyükleyici (bootloader) kurtarması için kullanılan ST 0483:df11 sistem DFU cihazı

Alternatif olarak, WinUSB’yi belirli VID:PID’ye Zadig veya pnputil ile bağlayın. Windows’ta bu olmadan komut satırından flash’lama çalışmaz. Linux ve macOS’ta sürücü kurulumuna gerek yoktur (Linux yalnızca udev kurallarını gerektirir).

14.1.1.3.3. SWD üzerinden flash’lama (make deploy)

Hata ayıklamada olduğu gibi kameraya zaten bir hata ayıklama probu bağlıysa – en hızlı düzenle-derle-flash’la döngüsü USB DFU’yu atlar ve çipi doğrudan SWD üzerinden programlar. STM32 kameralarında:

make -j$(nproc) TARGET=<TARGET> deploy

Bu, yeni derlenen aygıt yazılımını bağlı prob üzerinden STM32_Programmer_CLI (SDK’dan) aracılığıyla flash’lar. Önyükleyici (bootloader) girişi, USB yeniden numaralandırması ve kablo değişimi yoktur: derleyin, deploy çalıştırın ve kamera yeni kodu çalıştırarak yeniden başlar. Bu, etkin aygıt yazılımı geliştirme sırasında önerilen iş akışıdır. Prob olmadan flash’larken veya aygıt yazılımını başkalarına dağıtırken DFU veya OpenMV IDE’yi kullanın.

14.1.1.3.4. Önyükleyiciye (bootloader) / DFU moduna girme

Flash’lama, kameranın önyükleyici (bootloader) / DFU modunda olmasını gerektirir. Girmenin üç yolu vardır:

  • Takıldığında (herhangi bir kamera). Her kamera, açıldığında, aygıt yazılımı başlamadan önce kısa bir süre önyükleyicisini (bootloader) çalıştırır – kamerayı USB’ye takın ve önyükleyici kısa bir süre dinlemede olur.

  • IDE’den (herhangi bir kamera). Kamera takılıyken Tools -> Force enter OpenMV Cam bootloader, kamerayı önyükleyici (bootloader) moduna yeniden başlatır.

  • Arduino sıfırlama düğmesi. Arduino kartlarında, önyükleyici (bootloader) moduna girmek için sıfırlama düğmesine çift tıklayın.

14.1.1.3.5. Kamera ailesine göre komut satırından flash’lama

Aşağıdaki sayfalar, flash’lamayı kendiniz çalıştırmak istediğinizde – betiklerde, CI’da veya bir üretim hattında – OpenMV IDE’nin her kamera ailesi için arka planda ne yaptığını gösterir. Günlük flash’lama için OpenMV IDE’yi öneririz.