14.1.1.3. Flasha den fasta programvaran

När du har en firmware.bin (och dess romfs<n>.img) från Bygga den fasta programvaran programmerar du in den på kameran. OpenMV IDE är den rekommenderade metoden; kommandoradsproceduren skiljer sig åt mellan kamerafamiljer och dokumenteras per familj på sidorna som länkas längst ner. Själva startladdaren återställs separat – se Återställa startladdaren.

14.1.1.3.2. Windows: installera USB-drivrutinerna

Windows har ingen inbyggd drivrutin för kamerans USB-gränssnitt för DFU, SDP och ISP, så kommandoradsverktygen (dfu-util, NXP SPSDK-verktygen, Alif SE Tools) kan inte upptäcka enheten förrän en WinUSB-drivrutin har bundits till den. OpenMV IDE:s installationsprogram för Windows installerar alla dessa drivrutiner, så det enklaste tillvägagångssättet är att installera OpenMV IDE en gång – varefter både IDE:n och kommandoradsverktygen fungerar. Det är därför GUI-flashning lyckas på en ny Windows-dator medan en fristående dfu-util inte gör det.

Om det inte är möjligt att installera IDE:n kör du det matchande drivrutinsinstallationsprogrammet från OpenMV IDE:s katalog share/qtcreator/drivers/ som administratör:

Drivrutinsinstallationsprogram

USB-enheter det binder

openmv\openmv.cmd

OpenMV DFU-enheter och RT1062 SPSDK-gränssnitten (0x1FC9:0x0135 SDP ROM och 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

Arduino DFU-enheter (2341:03xx)

ftdi\ftdi.cmd

FTDI-adaptern 0403:6015 som används för AE3-startladdaråterställning

DFU_Driver\STM32Bootloader.bat

ST-systemets DFU-enhet 0483:df11 som används för STM32-startladdaråterställning

Alternativt binder du WinUSB till den specifika VID:PID med Zadig eller pnputil. Ingen kommandoradsflashning på Windows fungerar utan detta. Linux och macOS behöver ingen drivrutinsinstallation (Linux kräver endast udev-reglerna).

14.1.1.3.3. Flashning över SWD (make deploy)

Om en debug-sond redan är ansluten till kameran – som den är vid felsökning – kringgår den snabbaste redigera-bygga-flasha-cykeln USB DFU och programmerar chipet direkt över SWD. På STM32-kamerorna:

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

Detta flashar den nybyggda fasta programvaran via STM32_Programmer_CLI (från SDK:n) över den anslutna sonden. Det sker ingen start i startladdaren, ingen ny USB-uppräkning och inget kabelbyte: bygg, kör deploy, och kameran startar om och kör den nya koden. Detta är det rekommenderade arbetsflödet under aktiv utveckling av fast programvara. Använd DFU eller OpenMV IDE när du flashar utan en sond eller när du distribuerar fast programvara till andra.

14.1.1.3.4. Gå in i startladdar-/DFU-läge

Flashning kräver att kameran är i sitt startladdar-/DFU-läge. Det finns tre sätt att komma in:

  • Vid inkoppling (vilken kamera som helst). Varje kamera kör sin startladdare under ett kort fönster när den slås på, innan den fasta programvaran startar – anslut kameran till USB så lyssnar startladdaren under en kort stund.

  • Från IDE:n (vilken kamera som helst). Med kameran ansluten startar Tools -> Force enter OpenMV Cam bootloader om den till startladdarläge.

  • Arduinos återställningsknapp. På Arduino-kort dubbelklickar du på återställningsknappen för att gå in i startladdarläge.

14.1.1.3.5. Kommandoradsflashning per kamerafamilj

Sidorna nedan visar vad OpenMV IDE gör under huven för varje kamerafamilj, för när du vill köra flashningen själv – i skript, i CI eller på en produktionslinje. För daglig flashning rekommenderar vi OpenMV IDE.