14.1.1.3.5.2. OpenMV AE3: dfu-util¶
OpenMV AE3 menggunakan bootloader openmv_dfu (VID:PID aplikasi 37C5:16E3, VID:PID DFU 37C5:96E3), tetapi ini adalah perangkat dual-core: Alif Ensemble dengan core Cortex-M55 berperforma tinggi (HP) dan berefisiensi tinggi (HE). Untuk memasuki bootloader, cukup colokkan kamera: ia mendengarkan sebentar saat menyala, dan -w membuat dfu-util menunggu hingga muncul. Setiap core menjalankan citra firmware-nya sendiri dan memiliki ROMFS read-only masing-masing, sehingga flash penuh terdiri dari empat citra:
Core |
Perintah Firmware |
Perintah ROMFS |
|---|---|---|
M55-HP |
|
|
M55-HE |
|
|
Flash penuh menulis empat citra, dengan --reset hanya pada transfer terakhir:
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
Untuk mengganti firmware satu core saja, flash hanya alt core tersebut (-a 1 untuk HP, -a 2 untuk HE); untuk mengganti ROMFS satu core, flash alt ROMFS core tersebut (-a 6 untuk HP / romfs0, -a 3 untuk HE / romfs1).
14.1.1.3.5.2.1. Menginisialisasi MRAM Everspin¶
Build khusus OpenMV AE3 mengganti flash eksternal standar -- yang menyimpan filesystem FAT internal dan ROMFS core HP -- dengan chip MRAM Everspin. Bagian ini hanya berlaku untuk build tersebut. Komponen Everspin yang belum pernah diinisialisasi, atau yang register konfigurasinya telah rusak, tidak merespons penulisan, sehingga transfer DFU ke alt tersebut gagal hingga chip diinisialisasi ulang.
Bootloader mengekspos ini sebagai satu alt DFU lagi: mengunduh file kunci ke -a 7 memicu urutan inisialisasi (reset JESD, inisialisasi register konfigurasi, penghapusan kunci, dan dua pass penghapusan chip penuh). Unduhan itu sendiri tidak menyimpan apa pun -- partisi memeriksa bahwa file dimulai dengan kunci 16-byte yang diharapkan dan menjalankan urutan tersebut, paling banyak sekali per sesi bootloader.
Buat file kunci dengan tools/flash_recovery_key.py dari repositori firmware (ini menulis key.bin berukuran 4 KB), lalu unduh:
python tools/flash_recovery_key.py
dfu-util -w -d ,37C5:96E3 -a 7 -D key.bin
Chip kosong setelahnya: flash ulang ROMFS core HP (-a 6 -D romfs0.img), dan filesystem FAT internal memformat ulang dirinya sendiri saat boot berikutnya.
Lihat juga
Untuk menghapus filesystem FAT internal kamera -- perbaikan saat main.py yang buruk atau filesystem yang rusak menghentikan kamera dari booting -- lihat Menghapus sistem file internal.
Untuk memulihkan bootloader kamera itu sendiri, lihat Memulihkan bootloader.