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.1. OpenMV IDE: nahrání vlastního firmwaru (doporučeno)¶
OpenMV IDE obsahuje veškeré nástroje pro nahrávání (dfu-util, nástroje NXP SPSDK, Alif SE Tools, nástroje STM32), instaluje na Windows potřebné USB ovladače, zajišťuje vstup do bootloaderu a vybírá správný příkaz pro připojenou kameru. Je to doporučený způsob, jak nahrát vlastní build.
Připojte kameru k USB (nemusíte klikat na Connect).
Tools -> Load Custom Firmware.
V dialogu nastavte Firmware Path na
build/<TARGET>/bin/firmware.binz vašeho buildu.Volitelně zaškrtněte Erase internal file system pro vymazání interního souborového systému FAT v kameře (kdy a proč viz Vymazání interního souborového systému).
Volitelně zaškrtněte Reset ROMFS file system pro opětovné nahrání výchozího ROMFS (vypnuto, pokud jste přímo vybrali soubor
.img).Klikněte na Run. IDE restartuje kameru do jejího bootloaderu, zobrazí přesný příkaz pro nahrání a ukazatel průběhu a poté restartuje kameru do nového firmwaru. Počkejte na modrou autotestovací LED; kamera se poté normálně znovu vyčíslí.
K dispozici je také Tools -> Force enter OpenMV Cam bootloader pro ruční přepnutí kamery do režimu DFU před nahráváním.
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 |
|---|---|
|
Zařízení OpenMV DFU a rozhraní RT1062 SPSDK ( |
|
Zařízení Arduino DFU ( |
|
Adaptér FTDI |
|
Systémové zařízení ST DFU |
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.