14.1.1.3.5.2. OpenMV AE3: dfu-util

OpenMV AE3, openmv_dfu önyükleyicisini (bootloader) kullanır (uygulama VID:PID 37C5:16E3, DFU VID:PID 37C5:96E3), ancak bu bir çift çekirdekli cihazdır: yüksek performanslı (HP) ve yüksek verimli (HE) Cortex-M55 çekirdeğine sahip bir Alif Ensemble. Önyükleyiciye (bootloader) girmek için kamerayı takmanız yeterlidir: açılışta kısa bir süre dinlemede olur ve -w, dfu-util‘in kameranın görünmesini beklemesini sağlar. Her çekirdek kendi aygıt yazılımı görüntüsünü çalıştırır ve kendi salt okunur ROMFS’ine sahiptir, dolayısıyla tam bir flash dört görüntüden oluşur:

Çekirdek

Aygıt yazılımı komutu

ROMFS komutu

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

Tam bir flash, yalnızca son aktarımda --reset ile dört görüntüyü yazar:

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

Yalnızca bir çekirdeğin aygıt yazılımını değiştirmek için yalnızca o çekirdeğin alt’ını flash’layın (HP için -a 1, HE için -a 2); bir çekirdeğin ROMFS’ini değiştirmek için o çekirdeğin ROMFS alt’ını flash’layın (HP / romfs0 için -a 6, HE / romfs1 için -a 3).

14.1.1.3.5.2.1. Everspin MRAM’i başlatma

OpenMV AE3’ün özel derlemeleri, standart harici flash belleği – dahili FAT dosya sistemini ve HP çekirdeğinin ROMFS’ini tutan – bir Everspin MRAM çipiyle değiştirir. Bu bölüm yalnızca bu derlemeler için geçerlidir. Hiç başlatılmamış veya yapılandırma yazmaçları bozulmuş bir Everspin parçası yazmalara yanıt vermez, dolayısıyla çip yeniden başlatılana kadar bu alt’lara DFU aktarımları başarısız olur.

Önyükleyici (bootloader) bunu bir DFU alt’ı daha olarak sunar: -a 7‘ye bir anahtar dosyası indirmek başlatma sırasını tetikler (bir JESD sıfırlaması, yapılandırma yazmacı başlatması, kilit kaldırma ve iki tam çip silme geçişi). İndirmenin kendisi hiçbir şey depolamaz – bölüm, dosyanın beklenen 16 baytlık anahtarla başladığını kontrol eder ve sırayı önyükleyici oturumu başına en fazla bir kez çalıştırır.

Anahtar dosyasını aygıt yazılımı deposundaki tools/flash_recovery_key.py ile oluşturun (bu, 4 KB’lık bir key.bin yazar), ardından indirin:

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

Çip daha sonra boştur: HP çekirdeğinin ROMFS’ini yeniden flash’layın (-a 6 -D romfs0.img) ve dahili FAT dosya sistemi bir sonraki önyüklemede kendini yeniden biçimlendirir.

Ayrıca bakınız

Kameranın dahili FAT dosya sistemini silmek için – bozuk bir main.py veya bozuk bir dosya sistemi kameranın önyüklenmesini engellediğinde uygulanan çözüm – bkz. Dahili dosya sistemini silme.

Kameranın önyükleyicisinin (bootloader) kendisini geri yüklemek için bkz. Önyükleyiciyi (bootloader) geri yükleme.