14.1.1.3.5.2. OpenMV AE3: dfu-util¶
OpenMV AE3 używa bootloadera openmv_dfu (aplikacja VID:PID 37C5:16E3, DFU VID:PID 37C5:96E3), ale jest to urządzenie dwurdzeniowe: Alif Ensemble z wysokowydajnym (HP) i wysokoefektywnym (HE) rdzeniem Cortex-M55. Aby wejść do bootloadera, wystarczy podłączyć kamerę: nasłuchuje ona przez chwilę przy włączeniu zasilania, a -w sprawia, że dfu-util czeka na jej pojawienie się. Każdy rdzeń uruchamia własny obraz oprogramowania układowego i ma własny ROMFS tylko do odczytu, więc pełne wgranie obejmuje cztery obrazy:
Rdzeń |
Polecenie oprogramowania układowego |
Polecenie ROMFS |
|---|---|---|
M55-HP |
|
|
M55-HE |
|
|
Pełne wgranie zapisuje cztery obrazy, z --reset tylko przy ostatnim transferze:
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
Aby zastąpić oprogramowanie układowe tylko jednego rdzenia, wgraj jedynie alt tego rdzenia (-a 1 dla HP, -a 2 dla HE); aby zastąpić ROMFS jednego rdzenia, wgraj alt ROMFS tego rdzenia (-a 6 dla HP / romfs0, -a 3 dla HE / romfs1).
14.1.1.3.5.2.1. Inicjalizacja pamięci Everspin MRAM¶
Specjalne kompilacje OpenMV AE3 zastępują standardową zewnętrzną pamięć flash – która przechowuje wewnętrzny system plików FAT oraz ROMFS rdzenia HP – układem Everspin MRAM. Ta sekcja dotyczy wyłącznie tych kompilacji. Element Everspin, który nigdy nie był inicjalizowany lub którego rejestry konfiguracyjne zostały uszkodzone, nie odpowiada na zapisy, więc transfery DFU do tych altów kończą się niepowodzeniem, dopóki układ nie zostanie ponownie zainicjalizowany.
Bootloader udostępnia to jako kolejny alt DFU: pobranie pliku klucza do -a 7 wyzwala sekwencję inicjalizacji (reset JESD, inicjalizację rejestrów konfiguracyjnych, usunięcie blokady oraz dwa pełne przejścia kasowania układu). Samo pobranie niczego nie zapisuje – partycja sprawdza, czy plik zaczyna się od oczekiwanego 16-bajtowego klucza, i uruchamia sekwencję, co najwyżej raz na sesję bootloadera.
Wygeneruj plik klucza za pomocą tools/flash_recovery_key.py z repozytorium oprogramowania układowego (tworzy on plik key.bin o rozmiarze 4 KB), a następnie pobierz go:
python tools/flash_recovery_key.py
dfu-util -w -d ,37C5:96E3 -a 7 -D key.bin
Po tym układ jest pusty: ponownie wgraj ROMFS rdzenia HP (-a 6 -D romfs0.img), a wewnętrzny system plików FAT sformatuje się samodzielnie przy następnym uruchomieniu.
Zobacz także
Aby wyczyścić wewnętrzny system plików FAT kamery – rozwiązanie, gdy błędny main.py lub uszkodzony system plików uniemożliwia uruchomienie kamery – zobacz Wymazywanie wewnętrznego systemu plików.
Aby przywrócić sam bootloader kamery, zobacz Przywracanie bootloadera.