Lewati ke konten

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.


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.

  • 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.
  1. Siapkan Biner: Tempatkan file .bin atau .gz yang dihasilkan di firmware_testing/binaries/.
  2. Penyetelan & Jalankan:
    Terminal window
    cd firmware_testing/scripts/dart/
    dart pub get
    dart run logic_validator.dart

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.

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.

  1. Jalankan secara langsung:
    Terminal window
    python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]

Untuk memastikan ELRS Mobile merakit firmware dengan benar, pengembang harus secara berkala melakukan audit validasi silang terhadap biner “Ground Truth” yang dikompilasi di PC.

1

Ekspor Biner dari ELRS Mobile

Aktifkan **Expert Mode** di Pengaturan, lalu gunakan tombol **DOWNLOAD BINARY** di tab Flasher setelah mengonfigurasi target dan opsi Anda.

2

Hasilkan Ground Truth PC

Buat target dan versi yang **persis sama** dengan opsi identik menggunakan ExpressLRS Configurator resmi di PC Anda.

3

Jalankan Audit

Tempatkan kedua biner di firmware_testing/binaries/ dan jalankan skrip audit_tool.py untuk memverifikasi kesesuaian perangkat keras dan opsi yang sempurna.