Narzędzia walidacji oprogramowania układowego
Ten przewodnik szczegółowo opisuje wewnętrzne narzędzia używane do walidacji logiki montażu oprogramowania układowego aplikacji ELRS Mobile w oparciu o oficjalne „złote” binaria.
Prawda absolutna (Ground Truth) vs. Binaria Konfiguratora
Podczas przeprowadzania audytów walidacji, możesz zauważyć, że binaria generowane przez ELRS Mobile idealnie pasują do oficjalnego **ExpressLRS Web Flasher**, ale nieznacznie różnią się od binariów zbudowanych przy użyciu lokalnego **ExpressLRS Configurator (Python)**.
Jest to oczekiwane zachowanie. Wewnętrzny parser C++ JSON układu ESP32 ignoruje białe znaki, co oznacza, że oba binaria wykonują się identycznie na sprzęcie, pomimo niepowodzenia w ścisłym porównaniu SHA256 bajt po bajcie z powodu różnic w minifikacji.
1. Walidator Logiki ExpressLRS (Dart)
Dział zatytułowany „1. Walidator Logiki ExpressLRS (Dart)”Lokalizacja: firmware_testing/scripts/dart/logic_validator.dart
Walidator Logiki to wysokowydajne narzędzie do porównywania na poziomie bitów. Został zaprojektowany, aby weryfikować, czy wewnętrzna logika łatania i montażu ELRS Mobile odzwierciedla oficjalną logikę ExpressLRS.
Kluczowe Funkcje
Dział zatytułowany „Kluczowe Funkcje”- Analiza na Poziomie Bitów: Wskazuje dokładne błędy przesunięcia bitów w rozbieżnych bajtach.
- Interaktywny Wybór: Wyświetla wszystkie binaria znalezione w
firmware_testing/binaries/. - Zarządzanie Pamięcią bez Kopiowania (Zero-Copy): Zoptymalizowane pod kątem szybkiej analizy dużych plików oprogramowania układowego.
Jak Używać
Dział zatytułowany „Jak Używać”- Przygotuj Binaria: Umieść wygenerowane pliki
.binlub.gzwfirmware_testing/binaries/. - Konfiguracja i Uruchomienie:
Okno terminala cd firmware_testing/scripts/dart/dart pub getdart run logic_validator.dart
2. Audytor Prawdy Absolutnej (Ground Truth Auditor) (Python)
Dział zatytułowany „2. Audytor Prawdy Absolutnej (Ground Truth Auditor) (Python)”Lokalizacja: firmware_testing/scripts/python/audit_tool.py
Audytor to samodzielny skrypt bez zależności, przeznaczony do weryfikacji „Prawdy Absolutnej” (Ground Truth). Analizuje 2704-bajtowy blok konfiguracji dołączony na końcu każdego obrazu oprogramowania układowego ExpressLRS.
Weryfikuje, czy metadane faktycznie wgrane do urządzenia (Nazwa Produktu, Nazwa Lua, Układ Sprzętowy i Opcje) są poprawne, niezależnie od różnic w układzie podstawowego kodu oprogramowania układowego.
Jak Używać
Dział zatytułowany „Jak Używać”- Uruchom bezpośrednio:
Okno terminala python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]
3. Proces Walidacji Krzyżowej Binariów
Dział zatytułowany „3. Proces Walidacji Krzyżowej Binariów”Aby upewnić się, że ELRS Mobile poprawnie składa oprogramowanie układowe, deweloperzy powinni okresowo przeprowadzać audyt walidacji krzyżowej w stosunku do binarnego pliku „Ground Truth” skompilowanego na komputerze PC.
Eksportuj Plik Binarny z ELRS Mobile
Włącz **Tryb Eksperta** w Ustawieniach, a następnie użyj przycisku **POBIERZ BINARNY** w zakładce Flasher po skonfigurowaniu celu i opcji.
Generuj „Prawdę Absolutną” (Ground Truth) na PC
Zbuduj **dokładnie ten sam** cel i wersję z identycznymi opcjami, używając oficjalnego ExpressLRS Configurator na swoim komputerze PC.
Uruchom Audyt
Umieść oba binaria w firmware_testing/binaries/ i uruchom skrypt audit_tool.py, aby zweryfikować idealną zgodność sprzętu i opcji.