14.1.1.3.5.5. Het interne bestandssysteem wissen

Elke camera heeft een klein beschrijfbaar FAT-bestandssysteem (waar main.py en gebruikersbestanden staan, los van een eventuele SD-kaart). Het wissen ervan is de oplossing wanneer een slechte main.py of een beschadigd bestandssysteem voorkomt dat de camera opstart. In OpenMV IDE is dit het selectievakje Erase internal file system in Load Custom Firmware; het equivalent op de opdrachtregel verschilt per camerafamilie.

14.1.1.3.5.5.1. OpenMV-camera’s met de openmv_dfu-bootloader

De bootloader stelt een speciale wis-DFU-alt beschikbaar. Schrijf er een klein bestand vol nullen naar (een blok van 4 KB nullen is ruim voldoende – het wist de header van het bestandssysteem zodat de camera bij de volgende keer opstarten opnieuw formatteert) met --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

Camera (TARGET)

DFU VID:PID

Wis-alt

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

De OpenMV AE3 heeft één beschrijfbaar FAT-bestandssysteem dat door beide Cortex-M55-cores wordt gedeeld, dat eenmalig via -a 5 wordt gewist. Er is geen apart bestandssysteem per core om te wissen.

14.1.1.3.5.5.2. OpenMV Cam RT1062

De RT1062 heeft geen DFU-bootloader; wis de master boot record van zijn FAT-schijf (op 0x60400000) met de SPSDK-flashloader, wat bij de volgende keer opstarten een herformattering afdwingt:

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

14.1.1.3.5.5.3. STM32 Arduino-boards

De Portenta H7, Giga en Nicla Vision wissen op absoluut adres in plaats van via een 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