14.1.1.3.5.2. OpenMV AE3: dfu-util

Az OpenMV AE3 az openmv_dfu rendszerbetöltőt használja (alkalmazás VID:PID 37C5:16E3, DFU VID:PID 37C5:96E3), de kétmagos eszköz: egy Alif Ensemble nagy teljesítményű (HP) és nagy hatékonyságú (HE) Cortex-M55 maggal. A rendszerbetöltőbe való belépéshez egyszerűen csatlakoztassa a kamerát: bekapcsoláskor rövid ideig figyel, és a -w kapcsolóval a dfu-util megvárja, amíg megjelenik. Minden mag saját firmware-képet futtat, és saját, csak olvasható ROMFS-sel rendelkezik, így egy teljes flashelés négy képből áll:

Mag

Firmware parancs

ROMFS parancs

M55-HP

-a 1 -D firmware_M55_HP.bin

-a 6 -D romfs0.img

M55-HE

-a 2 -D firmware_M55_HE.bin

-a 3 -D romfs1.img

Egy teljes flashelés a négy képet írja meg, a --reset kapcsolóval csak az utolsó átvitelen:

dfu-util -w -d ,37C5:96E3 -a 1 -D firmware_M55_HP.bin
dfu-util -w -d ,37C5:96E3 -a 2 -D firmware_M55_HE.bin
dfu-util -w -d ,37C5:96E3 -a 3 -D romfs1.img
dfu-util -w -d ,37C5:96E3 -a 6 --reset -D romfs0.img

Ha csak az egyik mag firmware-ét szeretné cserélni, csak annak a magnak az alt beállítását flashelje (-a 1 a HP-hez, -a 2 a HE-hez); ha az egyik mag ROMFS-ét szeretné cserélni, flashelje annak a magnak a ROMFS altját (-a 6 a HP / romfs0 esetén, -a 3 a HE / romfs1 esetén).

14.1.1.3.5.2.1. Az Everspin MRAM inicializálása

Az OpenMV AE3 speciális buildjei a szokásos külső flash memóriát – amely a belső FAT fájlrendszert és a HP mag ROMFS-ét tárolja – egy Everspin MRAM chipre cserélik. Ez a szakasz csak ezekre a buildekre vonatkozik. Egy olyan Everspin alkatrész, amely még soha nem volt inicializálva, vagy amelynek a konfigurációs regiszterei sérültek, nem reagál az írásokra, így a DFU átvitelek ezekre az altokra sikertelenek lesznek, amíg a chipet újra nem inicializálják.

A rendszerbetöltő ezt egy további DFU altként teszi elérhetővé: egy kulcsfájl letöltése az -a 7 altra elindítja az inicializálási szekvenciát (egy JESD reset, a konfigurációs regiszterek inicializálása, a zár eltávolítása és két teljes chiptörlő menet). Maga a letöltés semmit nem tárol – a partíció ellenőrzi, hogy a fájl a várt 16 bájtos kulccsal kezdődik-e, és lefuttatja a szekvenciát, rendszerbetöltő-munkamenetenként legfeljebb egyszer.

Hozza létre a kulcsfájlt a firmware tárolóból származó tools/flash_recovery_key.py szkripttel (ez egy 4 KB-os key.bin fájlt ír), majd töltse le:

python tools/flash_recovery_key.py
dfu-util -w -d ,37C5:96E3 -a 7 -D key.bin

A chip ezután üres: flashelje újra a HP mag ROMFS-ét (-a 6 -D romfs0.img), a belső FAT fájlrendszer pedig a következő indításkor önmagát formázza újra.

Lásd még

A kamera belső FAT fájlrendszerének törléséhez – ami a megoldás, amikor egy hibás main.py vagy egy sérült fájlrendszer megakadályozza a kamera indulását – lásd A belső fájlrendszer törlése.

Magának a kamera rendszerbetöltőjének helyreállításához lásd A rendszerbetöltő helyreállítása.