14.1.1.3. Wgrywanie oprogramowania układowego¶
Gdy masz już plik firmware.bin (oraz odpowiadający mu romfs<n>.img) z Budowanie oprogramowania układowego, zaprogramuj go w kamerze. OpenMV IDE jest zalecaną metodą; procedura z wiersza poleceń różni się w zależności od rodziny kamer i jest opisana dla każdej rodziny na stronach podlinkowanych na dole. Sam bootloader jest przywracany osobno – zobacz Przywracanie bootloadera.
14.1.1.3.1. OpenMV IDE: wczytywanie niestandardowego oprogramowania układowego (zalecane)¶
OpenMV IDE zawiera wszystkie narzędzia do wgrywania (dfu-util, narzędzia NXP SPSDK, Alif SE Tools, narzędzia STM32), instaluje wymagane sterowniki USB w systemie Windows, obsługuje wejście do bootloadera i wybiera właściwe polecenie dla podłączonej kamery. To zalecany sposób wgrywania niestandardowej kompilacji.
Podłącz kamerę do USB (nie musisz klikać Connect).
Tools -> Load Custom Firmware.
W oknie dialogowym ustaw Firmware Path na
build/<TARGET>/bin/firmware.binz Twojej kompilacji.Opcjonalnie zaznacz Erase internal file system, aby wyczyścić wewnętrzny system plików FAT kamery (zobacz Wymazywanie wewnętrznego systemu plików, kiedy i dlaczego to robić).
Opcjonalnie zaznacz Reset ROMFS file system, aby ponownie wgrać domyślny ROMFS (opcja wyłączona, jeśli wybrano bezpośrednio plik
.img).Kliknij Run. IDE resetuje kamerę do jej bootloadera, pokazuje dokładne polecenie wgrywania oraz pasek postępu, a następnie uruchamia ponownie kamerę z nowym oprogramowaniem układowym. Poczekaj na niebieską diodę LED autotestu; kamera następnie ponownie wyliczy się normalnie.
Dostępna jest również opcja Tools -> Force enter OpenMV Cam bootloader, która ręcznie wprowadza kamerę w tryb DFU przed wgrywaniem.
14.1.1.3.2. Windows: instalacja sterowników USB¶
System Windows nie ma wbudowanego sterownika dla interfejsów USB DFU, SDP i ISP kamery, więc narzędzia z wiersza poleceń (dfu-util, narzędzia NXP SPSDK, Alif SE Tools) nie mogą wykryć urządzenia, dopóki nie zostanie z nim powiązany sterownik WinUSB. Instalator OpenMV IDE dla systemu Windows instaluje wszystkie te sterowniki, więc najprostszym podejściem jest jednorazowa instalacja OpenMV IDE – po której zarówno IDE, jak i narzędzia z wiersza poleceń działają. Dlatego właśnie wgrywanie przez GUI udaje się na świeżej maszynie z systemem Windows, podczas gdy samodzielny dfu-util nie.
Jeśli instalacja IDE nie wchodzi w grę, uruchom odpowiedni instalator sterownika z katalogu share/qtcreator/drivers/ w OpenMV IDE jako administrator:
Instalator sterownika |
Wiązane urządzenia USB |
|---|---|
|
Urządzenia OpenMV DFU oraz interfejsy RT1062 SPSDK ( |
|
Urządzenia Arduino DFU ( |
|
Adapter FTDI |
|
Urządzenie ST system DFU |
Alternatywnie powiąż WinUSB z konkretnym VID:PID za pomocą Zadig lub pnputil. Bez tego żadne wgrywanie z wiersza poleceń w systemie Windows nie działa. Linux i macOS nie wymagają instalacji sterowników (Linux wymaga jedynie reguł udev).
14.1.1.3.3. Wgrywanie przez SWD (make deploy)¶
Jeśli sonda debugująca jest już podłączona do kamery – tak jak ma to miejsce podczas debugowania – najszybszy cykl edycja-kompilacja-wgrywanie omija USB DFU i programuje układ bezpośrednio przez SWD. Na kamerach STM32:
make -j$(nproc) TARGET=<TARGET> deploy
To wgrywa świeżo skompilowane oprogramowanie układowe za pomocą STM32_Programmer_CLI (z SDK) przez podłączoną sondę. Nie ma wejścia do bootloadera, ponownego wyliczenia USB ani przekładania kabli: kompilujesz, uruchamiasz deploy, a kamera restartuje się z nowym kodem. To zalecany przepływ pracy podczas aktywnego rozwoju oprogramowania układowego. Użyj DFU lub OpenMV IDE przy wgrywaniu bez sondy lub przy dystrybucji oprogramowania układowego dla innych.
14.1.1.3.4. Wejście do trybu bootloadera / DFU¶
Wgrywanie wymaga, aby kamera była w trybie bootloadera / DFU. Są trzy sposoby, aby się tam dostać:
Przy podłączeniu (dowolna kamera). Każda kamera uruchamia swój bootloader przez krótki czas przy włączeniu zasilania, zanim wystartuje oprogramowanie układowe – podłącz kamerę do USB, a bootloader przez chwilę nasłuchuje.
Z poziomu IDE (dowolna kamera). Przy podłączonej kamerze Tools -> Force enter OpenMV Cam bootloader uruchamia ją ponownie w trybie bootloadera.
Przycisk reset Arduino. Na płytkach Arduino kliknij dwukrotnie przycisk reset, aby wejść w tryb bootloadera.
14.1.1.3.5. Wgrywanie z wiersza poleceń według rodziny kamer¶
Poniższe strony pokazują, co OpenMV IDE robi pod maską dla każdej rodziny kamer, na wypadek gdybyś chciał samodzielnie przeprowadzić wgrywanie – w skryptach, w CI lub na linii produkcyjnej. Do codziennego wgrywania zalecamy OpenMV IDE.