14.1.1.3. Mem-flash firmware¶
Setelah Anda memiliki firmware.bin (beserta romfs<n>.img-nya) dari Membangun firmware, program ke kamera. OpenMV IDE adalah metode yang direkomendasikan; prosedur baris perintah berbeda per keluarga kamera dan didokumentasikan per keluarga di halaman yang ditautkan di bagian bawah. Bootloader itu sendiri dipulihkan secara terpisah -- lihat Memulihkan bootloader.
14.1.1.3.1. OpenMV IDE: Muat Firmware Kustom (direkomendasikan)¶
OpenMV IDE menyertakan semua alat flashing (dfu-util, alat NXP SPSDK, Alif SE Tools, alat STM32), menginstal driver USB yang diperlukan di Windows, menangani masuk ke bootloader, dan memilih perintah yang tepat untuk kamera yang terhubung. Ini adalah cara yang direkomendasikan untuk mem-flash build kustom.
Colokkan kamera ke USB (Anda tidak perlu mengklik Connect).
Tools -> Load Custom Firmware.
Di dialog, atur Firmware Path ke
build/<TARGET>/bin/firmware.bindari build Anda.Secara opsional, centang Erase internal file system untuk menghapus filesystem FAT internal kamera (lihat Menghapus sistem file internal untuk kapan dan mengapa).
Secara opsional, centang Reset ROMFS file system untuk mem-flash ulang ROMFS default (dinonaktifkan jika Anda memilih file
.imgsecara langsung).Klik Run. IDE mereset kamera ke dalam bootloader-nya, menampilkan perintah flashing yang tepat beserta progress bar, dan me-reboot kamera ke firmware baru. Tunggu LED biru self-test; kamera kemudian melakukan enumerasi ulang seperti biasa.
Ada juga Tools -> Force enter OpenMV Cam bootloader untuk menempatkan kamera ke mode DFU secara manual sebelum flashing.
14.1.1.3.2. Windows: instal driver USB¶
Windows tidak memiliki driver bawaan untuk antarmuka USB DFU, SDP, dan ISP kamera, sehingga alat baris perintah (dfu-util, alat NXP SPSDK, Alif SE Tools) tidak dapat mendeteksi perangkat hingga driver WinUSB terikat padanya. Installer Windows OpenMV IDE menginstal semua driver ini, sehingga pendekatan paling sederhana adalah menginstal OpenMV IDE satu kali -- setelah itu baik IDE maupun alat baris perintah akan berfungsi. Inilah mengapa flashing via GUI berhasil di mesin Windows baru sementara dfu-util mandiri tidak.
Jika menginstal IDE bukan pilihan, jalankan installer driver yang sesuai dari direktori share/qtcreator/drivers/ OpenMV IDE sebagai Administrator:
Installer driver |
Perangkat USB yang diikat |
|---|---|
|
Perangkat OpenMV DFU, dan antarmuka RT1062 SPSDK ( |
|
Perangkat Arduino DFU ( |
|
Adaptor FTDI |
|
Perangkat DFU sistem ST |
Sebagai alternatif, ikat WinUSB ke VID:PID tertentu menggunakan Zadig atau pnputil. Tidak ada flashing baris perintah di Windows yang berfungsi tanpa ini. Linux dan macOS tidak memerlukan instalasi driver (Linux hanya membutuhkan aturan udev).
14.1.1.3.3. Flashing melalui SWD (make deploy)¶
Jika probe debug sudah terhubung ke kamera -- seperti saat debugging -- siklus edit-build-flash tercepat melewati USB DFU dan memprogram chip langsung melalui SWD. Pada kamera STM32:
make -j$(nproc) TARGET=<TARGET> deploy
Ini mem-flash firmware yang baru dibangun melalui STM32_Programmer_CLI (dari SDK) melalui probe yang terhubung. Tidak ada entri bootloader, tidak ada enumerasi ulang USB, dan tidak ada penukaran kabel: build, jalankan deploy, dan kamera me-restart dengan menjalankan kode baru. Ini adalah alur kerja yang direkomendasikan selama pengembangan firmware aktif. Gunakan DFU atau OpenMV IDE saat flashing tanpa probe atau saat mendistribusikan firmware ke orang lain.
14.1.1.3.4. Memasuki mode bootloader / DFU¶
Flashing memerlukan kamera untuk berada dalam mode bootloader / DFU. Ada tiga cara untuk masuk:
Saat dihubungkan (kamera mana pun). Setiap kamera menjalankan bootloader-nya untuk jendela singkat saat menyala, sebelum firmware dimulai -- colokkan kamera ke USB dan bootloader sebentar mendengarkan.
Dari IDE (kamera mana pun). Dengan kamera yang terhubung, Tools -> Force enter OpenMV Cam bootloader me-reboot-nya ke mode bootloader.
Tombol reset Arduino. Di board Arduino, klik dua kali tombol reset untuk masuk ke mode bootloader.
14.1.1.3.5. Flashing baris perintah per keluarga kamera¶
Halaman di bawah menunjukkan apa yang dilakukan OpenMV IDE di balik layar untuk setiap keluarga kamera, untuk saat Anda ingin menjalankan flashing sendiri -- dalam skrip, dalam CI, atau di jalur produksi. Untuk flashing sehari-hari kami merekomendasikan OpenMV IDE.