14.1.1.3.5.5. Ștergerea sistemului de fișiere intern

Fiecare cameră are un mic sistem de fișiere FAT pe care se poate scrie (unde se află main.py și fișierele utilizatorului, separat de orice card SD). Ștergerea lui este soluția atunci când un main.py defectuos sau un sistem de fișiere corupt împiedică pornirea camerei. În OpenMV IDE aceasta este caseta de bifare Erase internal file system din Load Custom Firmware; echivalentul din linia de comandă diferă în funcție de familia de camere.

14.1.1.3.5.5.1. Camere OpenMV cu bootloader-ul openmv_dfu

Bootloader-ul expune un alt DFU de ștergere dedicat. Scrieți pe el un mic fișier umplut cu zerouri (un bloc de 4 KB de zerouri este suficient – șterge antetul sistemului de fișiere, astfel încât camera să reformateze la următoarea pornire) cu --reset

dd if=/dev/zero of=erase.bin bs=4096 count=1
dfu-util -w -d ,<DFU VID:PID> -a <erase alt> --reset -D erase.bin

Cameră (TARGET)

DFU VID:PID

Alt de ștergere

OpenMV Cam M4 (OPENMV2)

37C5:9202

-a 1

OpenMV Cam M7 (OPENMV3)

37C5:9203

-a 1

OpenMV Cam H7 (OPENMV4)

37C5:9204

-a 1

OpenMV Cam H7 Plus (OPENMV4P)

37C5:924A

-a 3

OpenMV Pure Thermal (OPENMVPT)

37C5:9205

-a 3

OpenMV Cam N6 (OPENMV_N6)

37C5:9206

-a 2

OpenMV AE3 (OPENMV_AE3)

37C5:96E3

-a 5

OpenMV AE3 are un singur sistem de fișiere FAT pe care se poate scrie, partajat de ambele nuclee Cortex-M55, șters o singură dată prin -a 5. Nu există o ștergere separată a sistemului de fișiere per nucleu.

14.1.1.3.5.5.2. OpenMV Cam RT1062

RT1062 nu are bootloader DFU; ștergeți înregistrarea de boot principală a discului său FAT (la 0x60400000) cu flashloader-ul SPSDK, ceea ce forțează o reformatare la următoarea pornire:

blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60400000 0x1000

14.1.1.3.5.5.3. Plăci Arduino STM32

Portenta H7, Giga și Nicla Vision se șterg după adresă absolută, nu după un alt:

dd if=/dev/zero of=erase.bin bs=4096 count=1
dfu-util -w -d ,<DFU VID:PID> -a 0 -s 0x08020000 -D erase.bin
dfu-util -w -d ,<DFU VID:PID> -a 1 -s 0x90000000 --reset -D erase.bin