14.1.1.3. Nahrání firmwaru

Jakmile máte z Sestavení firmwaru soubor firmware.bin (a jeho romfs<n>.img), naprogramujte jej do kamery. Doporučenou metodou je OpenMV IDE; postup z příkazové řádky se liší podle rodiny kamer a je zdokumentován pro každou rodinu na stránkách odkazovaných dole. Samotný bootloader se obnovuje zvlášť – viz Obnovení bootloaderu.

14.1.1.3.2. Windows: instalace USB ovladačů

Windows nemají vestavěný ovladač pro USB rozhraní DFU, SDP a ISP kamery, takže nástroje příkazové řádky (dfu-util, nástroje NXP SPSDK, Alif SE Tools) nemohou zařízení detekovat, dokud k němu není navázán ovladač WinUSB. Instalátor OpenMV IDE pro Windows nainstaluje všechny tyto ovladače, takže nejjednodušším přístupem je jednou nainstalovat OpenMV IDE – poté fungují jak IDE, tak nástroje příkazové řádky. To je důvod, proč nahrávání přes GUI uspěje na čerstvém stroji s Windows, zatímco samostatný dfu-util nikoli.

Pokud instalace IDE není možná, spusťte odpovídající instalátor ovladače z adresáře share/qtcreator/drivers/ v OpenMV IDE jako správce:

Instalátor ovladače

USB zařízení, která naváže

openmv\openmv.cmd

Zařízení OpenMV DFU a rozhraní RT1062 SPSDK (0x1FC9:0x0135 SDP ROM a 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

Zařízení Arduino DFU (2341:03xx)

ftdi\ftdi.cmd

Adaptér FTDI 0403:6015 používaný pro obnovu bootloaderu AE3

DFU_Driver\STM32Bootloader.bat

Systémové zařízení ST DFU 0483:df11 používané pro obnovu bootloaderu STM32

Případně navažte WinUSB ke konkrétnímu VID:PID pomocí Zadig nebo pnputil. Bez toho nefunguje na Windows žádné nahrávání z příkazové řádky. Linux a macOS žádnou instalaci ovladačů nepotřebují (Linux vyžaduje pouze pravidla udev).

14.1.1.3.3. Nahrávání přes SWD (make deploy)

Pokud je k kameře již připojena ladicí sonda – jako při ladění – nejrychlejší cyklus úprava-build-nahrání obejde USB DFU a naprogramuje čip přímo přes SWD. Na kamerách STM32:

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

Tím se čerstvě sestavený firmware nahraje přes STM32_Programmer_CLI (ze SDK) prostřednictvím připojené sondy. Není potřeba žádný vstup do bootloaderu, žádné opětovné vyčíslení USB ani přepojování kabelů: sestavte build, spusťte deploy a kamera se restartuje s novým kódem. Toto je doporučený postup během aktivního vývoje firmwaru. Pro nahrávání bez sondy nebo při distribuci firmwaru ostatním použijte DFU nebo OpenMV IDE.

14.1.1.3.4. Vstup do režimu bootloader / DFU

Nahrávání vyžaduje, aby byla kamera v režimu bootloader / DFU. Existují tři způsoby, jak do něj vstoupit:

  • Při připojení (libovolná kamera). Každá kamera při zapnutí spustí na krátkou chvíli svůj bootloader, než se firmware spustí – připojte kameru k USB a bootloader krátce naslouchá.

  • Z IDE (libovolná kamera). Při připojené kameře ji Tools -> Force enter OpenMV Cam bootloader restartuje do režimu bootloader.

  • Resetovací tlačítko Arduino. Na deskách Arduino vstoupíte do režimu bootloader dvojitým kliknutím na resetovací tlačítko.

14.1.1.3.5. Nahrávání z příkazové řádky podle rodiny kamer

Stránky níže ukazují, co OpenMV IDE dělá v pozadí pro každou rodinu kamer, pro případy, kdy chcete nahrávání spustit sami – ve skriptech, v CI nebo na výrobní lince. Pro každodenní nahrávání doporučujeme OpenMV IDE.