Alat Validasi Firmware
Panduan ini merinci alat internal yang digunakan untuk memvalidasi logika perakitan firmware aplikasi ELRS Mobile terhadap biner “Golden” resmi.
Biner Ground Truth vs. Konfigurator
Saat menjalankan audit validasi, Anda mungkin menyadari bahwa biner yang dihasilkan oleh ELRS Mobile sangat cocok dengan **ExpressLRS Web Flasher** resmi, tetapi sedikit berbeda dari biner yang dibuat menggunakan **ExpressLRS Configurator (Python)** lokal.
Ini adalah perilaku yang diharapkan. Parser C++ JSON internal ESP32 mengabaikan spasi kosong, yang berarti kedua biner dieksekusi secara identik pada perangkat keras meskipun gagal dalam perbandingan SHA256 byte-demi-byte yang ketat karena perbedaan minifikasi.
1. ExpressLRS Logic Validator (Dart)
Section titled “1. ExpressLRS Logic Validator (Dart)”Lokasi: firmware_testing/scripts/dart/logic_validator.dart
Logic Validator adalah alat perbandingan tingkat-bit berkinerja tinggi. Alat ini dirancang untuk memverifikasi bahwa logika patching dan perakitan internal ELRS Mobile mencerminkan logika ExpressLRS resmi.
Fitur Utama
Section titled “Fitur Utama”- Analisis Tingkat-Bit: Menentukan kegagalan offset-bit yang tepat dalam byte yang berbeda.
- Pilihan Interaktif: Mencantumkan semua biner yang ditemukan di
firmware_testing/binaries/. - Manajemen Memori Zero-Copy: Dioptimalkan untuk analisis berkecepatan tinggi pada file firmware besar.
Cara Menggunakan
Section titled “Cara Menggunakan”- Siapkan Biner: Tempatkan file
.binatau.gzyang dihasilkan difirmware_testing/binaries/. - Penyetelan & Jalankan:
Terminal window cd firmware_testing/scripts/dart/dart pub getdart run logic_validator.dart
2. Ground Truth Auditor (Python)
Section titled “2. Ground Truth Auditor (Python)”Lokasi: firmware_testing/scripts/python/audit_tool.py
Auditor adalah skrip mandiri tanpa dependensi yang ditujukan untuk verifikasi “Ground Truth”. Ini mengurai blok konfigurasi 2704-byte yang ditambahkan ke akhir setiap citra firmware ExpressLRS.
Tujuan
Section titled “Tujuan”Ini memverifikasi bahwa metadata yang benar-benar di-flash ke perangkat (Nama Produk, Nama Lua, Tata Letak Perangkat Keras, dan Opsi) sudah benar, terlepas dari perbedaan tata letak apa pun dalam kode firmware dasar.
Cara Menggunakan
Section titled “Cara Menggunakan”- Jalankan secara langsung:
Terminal window python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]
3. Alur Kerja Validasi Silang Biner
Section titled “3. Alur Kerja Validasi Silang Biner”Untuk memastikan ELRS Mobile merakit firmware dengan benar, pengembang harus secara berkala melakukan audit validasi silang terhadap biner “Ground Truth” yang dikompilasi di PC.
Ekspor Biner dari ELRS Mobile
Aktifkan **Expert Mode** di Pengaturan, lalu gunakan tombol **DOWNLOAD BINARY** di tab Flasher setelah mengonfigurasi target dan opsi Anda.
Hasilkan Ground Truth PC
Buat target dan versi yang **persis sama** dengan opsi identik menggunakan ExpressLRS Configurator resmi di PC Anda.
Jalankan Audit
Tempatkan kedua biner di firmware_testing/binaries/ dan jalankan skrip audit_tool.py untuk memverifikasi kesesuaian perangkat keras dan opsi yang sempurna.