14.1.1.3. Programiranje firmvera

Nakon što imate firmware.bin (i njegov romfs<n>.img) iz Izgradnja ugrađenog programa (firmware), programirajte ga na kameru. OpenMV IDE je preporučena metoda; postupak putem naredbenog retka razlikuje se po obitelji kamera i dokumentiran je za svaku obitelj na stranicama povezanima na dnu. Sam pokretač (bootloader) vraća se zasebno – pogledajte Vraćanje pokretača (bootloader).

14.1.1.3.2. Windows: instalacija USB upravljačkih programa

Windows nema ugrađeni upravljački program za USB DFU, SDP i ISP sučelja kamere, pa alati naredbenog retka (dfu-util, NXP SPSDK alati, Alif SE alati) ne mogu otkriti uređaj dok mu se ne pridruži WinUSB upravljački program. Instalacijski program OpenMV IDE-a za Windows instalira sve te upravljačke programe, pa je najjednostavniji pristup jednom instalirati OpenMV IDE – nakon čega rade i IDE i alati naredbenog retka. Zbog toga GUI programiranje uspijeva na svježem Windows računalu, dok samostalni dfu-util ne uspijeva.

Ako instaliranje IDE-a nije opcija, pokrenite odgovarajući instalacijski program upravljačkog programa iz direktorija share/qtcreator/drivers/ OpenMV IDE-a kao administrator:

Instalacijski program upravljačkog programa

USB uređaji koje pridružuje

openmv\openmv.cmd

OpenMV DFU uređaji i RT1062 SPSDK sučelja (0x1FC9:0x0135 SDP ROM i 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

Arduino DFU uređaji (2341:03xx)

ftdi\ftdi.cmd

FTDI 0403:6015 adapter koji se koristi za oporavak AE3 pokretača (bootloadera)

DFU_Driver\STM32Bootloader.bat

ST 0483:df11 sustavski DFU uređaj koji se koristi za oporavak STM32 pokretača (bootloadera)

Alternativno, pridružite WinUSB određenom VID:PID-u pomoću alata Zadig ili pnputil. Bez toga ne radi nikakvo programiranje putem naredbenog retka u sustavu Windows. Linux i macOS ne zahtijevaju instalaciju upravljačkih programa (Linux zahtijeva samo udev pravila).

14.1.1.3.3. Programiranje putem SWD-a (make deploy)

Ako je sonda za otklanjanje pogrešaka već spojena na kameru – kao što jest za otklanjanje pogrešaka – najbrži ciklus uređivanja-izgradnje-programiranja zaobilazi USB DFU i programira čip izravno putem SWD-a. Na STM32 kamerama:

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

Time se svježe izgrađeni firmver programira putem STM32_Programmer_CLI (iz SDK-a) preko spojene sonde. Nema ulaska u pokretač (bootloader), nema ponovnog USB prepoznavanja i nema zamjene kabela: izgradite, pokrenite deploy i kamera se ponovno pokreće izvodeći novi kod. To je preporučeni tijek rada tijekom aktivnog razvoja firmvera. Koristite DFU ili OpenMV IDE kada programirate bez sonde ili kada distribuirate firmver drugima.

14.1.1.3.4. Ulazak u pokretač (bootloader) / DFU način rada

Programiranje zahtijeva da kamera bude u svom pokretaču (bootloaderu) / DFU načinu rada. Postoje tri načina ulaska:

  • Pri priključivanju (bilo koja kamera). Svaka kamera kratko izvodi svoj pokretač (bootloader) pri uključivanju, prije nego što se firmver pokrene – priključite kameru na USB i pokretač (bootloader) kratko sluša.

  • Iz IDE-a (bilo koja kamera). Dok je kamera priključena, Tools -> Force enter OpenMV Cam bootloader ponovno je pokreće u način rada pokretača (bootloadera).

  • Arduino tipka za reset. Na Arduino pločama dvaput kliknite tipku za reset za ulazak u način rada pokretača (bootloadera).

14.1.1.3.5. Programiranje putem naredbenog retka po obitelji kamera

Stranice u nastavku pokazuju što OpenMV IDE radi u pozadini za svaku obitelj kamera, za slučajeve kada želite sami pokrenuti programiranje – u skriptama, u CI-ju ili na proizvodnoj liniji. Za svakodnevno programiranje preporučujemo OpenMV IDE.