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.1. OpenMV IDE: učitavanje prilagođenog firmvera (preporučeno)¶
OpenMV IDE objedinjuje sve alate za programiranje (dfu-util, NXP SPSDK alate, Alif SE alate, STM32 alate), instalira potrebne USB upravljačke programe u sustavu Windows, upravlja ulaskom u pokretač (bootloader) i odabire ispravnu naredbu za priključenu kameru. To je preporučeni način za programiranje prilagođene verzije.
Priključite kameru na USB (ne morate kliknuti Connect).
Tools -> Load Custom Firmware.
U dijaloškom okviru postavite Firmware Path na
build/<TARGET>/bin/firmware.binsvoje verzije.Po želji označite Erase internal file system kako biste izbrisali interni FAT datotečni sustav kamere (pogledajte Brisanje internog datotečnog sustava za to kada i zašto).
Po želji označite Reset ROMFS file system kako biste ponovno programirali zadani ROMFS (onemogućeno ako ste izravno odabrali
.img).Kliknite Run. IDE resetira kameru u njezin pokretač (bootloader), prikazuje točnu naredbu za programiranje i traku napretka te ponovno pokreće kameru s novim firmverom. Pričekajte plavu LED diodu samotestiranja; kamera se zatim normalno ponovno prepoznaje.
Postoji i Tools -> Force enter OpenMV Cam bootloader za ručno stavljanje kamere u DFU način rada prije programiranja.
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 DFU uređaji i RT1062 SPSDK sučelja ( |
|
Arduino DFU uređaji ( |
|
FTDI |
|
ST |
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.