14.1. Pengembangan firmware¶
Halaman-halaman ini diperuntukkan bagi pengembang firmware -- orang-orang yang ingin mengubah kode C yang berjalan pada OpenMV Cam, bukan hanya menulis skrip MicroPython. Halaman ini mencakup seluruh siklus: menyiapkan editor, menginstal toolchain build, mengompilasi firmware untuk setiap board yang didukung, mem-flash build Anda ke kamera, dan men-debug-nya pada hardware nyata dengan probe J-Link dan debugging source-level single-step di VS Code.
Pada akhirnya Anda harus dapat mengambil mesin baru, membangun firmware, memasangnya ke kamera, mengatur breakpoint di sumber C, dan melakukan single-step pada prosesor.
Catatan
Firmware OpenMV adalah fork dari MicroPython dengan library machine vision OpenMV, driver, dan port board yang ditambahkan. Sumbernya berada di github.com/openmv/openmv. Modul Python image / ml / csi yang Anda gunakan dalam skrip adalah kode C di repositori ini.
14.1.1. Cara kerja build¶
Dua hal perlu dipahami sebelum Anda mulai, karena keduanya menjelaskan setiap instruksi di bawah ini:
Build didorong oleh SDK. Anda tidak menginstal kompiler ARM, CMake, Python, atau alat ST sendiri. Repositori menyematkan versi OpenMV SDK yang tepat (file
SDK_VERSION--1.6.0pada saat penulisan), danmake sdkmengunduh serta mengekstrak SDK tersebut ke~/openmv-sdk-<version>/. Build kemudian menambahkan direktorigcc,llvm,cmake,python, dan alat ST dari SDK ke awalPATH. Ini berarti semua orang membangun dengan toolchain yang persis sama, dan pengaturan host sangat minimal.Tidak ada build Windows native. Toolchain dan skrip build menargetkan Linux (x86-64) dan macOS (arm64) saja. Di Windows Anda membangun di dalam WSL (Windows Subsystem for Linux), yang merupakan lingkungan Linux nyata -- jadi setelah WSL diinstal, pengguna Windows mengikuti instruksi Linux dengan persis. Build berbasis Docker dan Linux VM juga merupakan pilihan.
Urutan tingkat tinggi pada sistem yang didukung selalu:
Instal editor (VS Code).
Dapatkan shell seperti Linux (Linux native, macOS, atau WSL di Windows).
Clone repositori dan submodulnya.
make sdk-- instalasi toolchain satu kali.make -C lib/micropython/mpy-cross-- build kompiler bytecode.make TARGET=<board>-- build firmware.Flash (OpenMV IDE atau
dfu-util).Secara opsional, pasang J-Link dan debug.
Halaman di bawah ini memandu melalui setiap langkah secara berurutan.