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 |
|
|
M55-HE |
|
|
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.