14.1.1.3.5.2. OpenMV AE3: dfu-util¶
OpenMV AE3 používá bootloader openmv_dfu (aplikační VID:PID 37C5:16E3, DFU VID:PID 37C5:96E3), ale jde o dvoujádrové zařízení: Alif Ensemble s vysoce výkonným (HP) a vysoce úsporným (HE) jádrem Cortex-M55. Pro vstup do bootloaderu stačí kameru připojit: při zapnutí krátce naslouchá a -w přiměje dfu-util počkat, až se objeví. Každé jádro spouští svůj vlastní obraz firmwaru a má vlastní ROMFS určený pouze pro čtení, takže úplné nahrání představuje čtyři obrazy:
Jádro |
Příkaz firmwaru |
Příkaz ROMFS |
|---|---|---|
M55-HP |
|
|
M55-HE |
|
|
Úplné nahrání zapíše čtyři obrazy, přičemž --reset je pouze u posledního přenosu:
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
Pro nahrazení firmwaru jen jednoho jádra nahrajte pouze alt tohoto jádra (-a 1 pro HP, -a 2 pro HE); pro nahrazení ROMFS jednoho jádra nahrajte ROMFS alt tohoto jádra (-a 6 pro HP / romfs0, -a 3 pro HE / romfs1).
14.1.1.3.5.2.1. Inicializace Everspin MRAM¶
Speciální buildy OpenMV AE3 nahrazují standardní externí flash paměť – která obsahuje interní souborový systém FAT a ROMFS jádra HP – čipem Everspin MRAM. Tato část se týká pouze těchto buildů. Součástka Everspin, která nikdy nebyla inicializována nebo jejíž konfigurační registry byly poškozeny, nereaguje na zápisy, takže přenosy DFU na tyto alty selhávají, dokud není čip znovu inicializován.
Bootloader to vystavuje jako jeden další DFU alt: stažení souboru s klíčem na -a 7 spustí inicializační sekvenci (reset JESD, inicializaci konfiguračních registrů, odstranění zámku a dva úplné průchody mazání čipu). Samotné stažení nic neukládá – oddíl zkontroluje, že soubor začíná očekávaným 16bajtovým klíčem, a spustí sekvenci, nejvýše jednou za relaci bootloaderu.
Vygenerujte soubor s klíčem pomocí tools/flash_recovery_key.py z repozitáře firmwaru (zapíše 4 KB key.bin) a poté jej stáhněte:
python tools/flash_recovery_key.py
dfu-util -w -d ,37C5:96E3 -a 7 -D key.bin
Čip je poté prázdný: znovu nahrajte ROMFS jádra HP (-a 6 -D romfs0.img) a interní souborový systém FAT se při příštím spuštění sám přeformátuje.
Viz také
Pro vymazání interního souborového systému FAT v kameře – řešení, když chybný main.py nebo poškozený souborový systém brání kameře ve spuštění – viz Vymazání interního souborového systému.
Pro obnovu samotného bootloaderu kamery viz Obnovení bootloaderu.