Hoppa till innehåll

Firmware-valideringsverktyg

Denna guide beskriver de interna verktyg som används för att validera ELRS Mobile-applikationens logik för firmwaremontering mot officiella “Golden”-binärfiler.

Ground Truth vs. Konfiguratorbinärfiler

När du utför valideringsrevisioner kan du märka att binärfiler genererade av ELRS Mobile perfekt matchar den officiella **ExpressLRS Web Flasher**, men avviker något från binärfiler byggda med den lokala **ExpressLRS Configurator (Python)**.

Detta är förväntat beteende. ESP32:s interna C++ JSON-parser ignorerar tomrum, vilket innebär att båda binärfilerna körs identiskt på hårdvara trots att de misslyckas med en strikt byte-för-byte SHA256-jämförelse på grund av minifieringsskillnader.


Plats: firmware_testing/scripts/dart/logic_validator.dart

Logic Validator är ett högpresterande bit-nivå jämförelseverktyg. Det är utformat för att verifiera att ELRS Mobiles interna patchnings- och monteringslogik speglar den officiella ExpressLRS-logiken.

  • Bit-nivåanalys: Lokaliserar exakta bit-offset-fel inom avvikande bytes.
  • Interaktivt val: Listar alla binärfiler som finns i firmware_testing/binaries/.
  • Zero-Copy minneshantering: Optimerad för höghastighetsanalys av stora firmwarefiler.
  1. Förbered binärfiler: Placera de genererade .bin- eller .gz-filerna i firmware_testing/binaries/.
  2. Installation och körning:
    Terminal window
    cd firmware_testing/scripts/dart/
    dart pub get
    dart run logic_validator.dart

Plats: firmware_testing/scripts/python/audit_tool.py

Auditor är ett fristående, noll-beroende skript avsett för “Ground Truth”-verifiering. Det parsar det 2704-byte stora konfigurationsblocket som läggs till i slutet av varje ExpressLRS firmware-avbildning.

Det verifierar att den metadata som faktiskt flashas till enheten (Product Name, Lua Name, Hardware Layout och Options) är korrekt, oavsett layoutskillnader i den grundläggande firmwarekoden.

  1. Kör direkt:
    Terminal window
    python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]

3. Arbetsflöde för binär korsvalidering

Section titled “3. Arbetsflöde för binär korsvalidering”

För att säkerställa att ELRS Mobile monterar firmware korrekt, bör utvecklare regelbundet utföra en korsvalideringsrevision mot en “Ground Truth”-binärfil som kompilerats på en PC.

1

Exportera binärfil från ELRS Mobile

Aktivera **Expert Mode** i Inställningar, använd sedan knappen **DOWNLOAD BINARY** i fliken Flasher efter att du har konfigurerat din målenhet och dina alternativ.

2

Generera PC Ground Truth

Bygg **exakt samma** målenhet och version med identiska alternativ med hjälp av den officiella ExpressLRS Configurator på din PC.

3

Kör revisionen

Placera båda binärfilerna i firmware_testing/binaries/ och kör skriptet audit_tool.py för att verifiera perfekt hårdvaru- och optionsparitet.