Zum Artikel

Kompilierung und Prüfung ohne Hardware

Geprüft 2026-11-01

Verwenden Sie diese Seite, um den Quellcode zu ändern und die Implementierung zu überprüfen. Befolgen Sie für die normale Installation die Anweisungen zum Flashen des veröffentlichten Images . Das Erstellen einer Rohbinärdatei ersetzt nicht das Erstellen und Validieren eines codierten Bilds und eines passenden Manifests.

Toolchain und Befehle

Installieren Sie arm-none-eabi-gcc, Make, Python 3 und einen Host-C-Compiler, der AddressSanitizer/UndefinedBehaviorSanitizer unterstützt. Führen Sie es vom Repository-Stammverzeichnis in einer Umgebung mit diesen Tools aus:

make
make verify

Für eine ARM-Toolchain außerhalb von PATH:

make verify ARM_PREFIX=/path/to/toolchain/bin/arm-none-eabi-

Ersetzen Sie /path/to/toolchain/bin/ durch den tatsächlichen Standort. Das Root-Makefile wird an firmware/ delegiert. Firmware-Ausgaben gehen an build/motor-release/ und native Tests an build/host/. Diese Befehle flashen keine Hardware.

Quellen-, Firmware-Erstellungs- und Offline-Überprüfungsphasen

Überprüfen Sie die Abdeckung

Befehl Umfang
npm test / PowerShell npm.cmd test Node.js-Treiber, gemeinsam genutzter Controller und Tools mit simulierter Hardware
make verify Firmware-Build, C-Regressionen, Register-/Speicherverträge und Bildlayout
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v Flashen und Werksreparatur mit simulierten seriellen Geräten
npm run test:driver-package Treiberpaketierung und -installation mit verfügbarem NPM-Cache

Der Python-Pfad in der Tabelle gilt für macOS/Linux; Verwenden Sie tools\flash\.venv\Scripts\python.exe unter Windows. Viewer-Tests erfordern separate Python-Abhängigkeiten 3.12; Das Testverzeichnis ist tools/simulation/test und das Importverzeichnis ist tools/simulation.

Softwaretests ermitteln nicht die Genauigkeit des Arms, das thermische Verhalten unter realer Last oder geeignete Motorverstärkungen. Hardware-Diff-Tests sind ein separater Vorgang: Sie können Motoren bewegen und Einstellungen/Reset-Vorlagen ersetzen. Ersetzen Sie sie nicht durch die stationäre Diagnose an einem montierten Arm.

Implementierungslayout

Verantwortlichkeiten von Firmware, Host-Treiber und Tools

Verzeichnis Zweck
firmware/app/ Koordination, Laufzeit, Extension und Gerätedienste
firmware/core/ Steuerung, Erfassung, Protokoll, Register und Speicherung
firmware/platform/gd32f130/ Hardwaretreiber, Startup, Linker-Skript und Herstellercode
firmware/tests/ C-Regressionen und Python-Prüfungen
host/servo-driver/ Paketkodierung und -transport
host/arm-control/ Sitzungen, Profile, Schwerkraft und Aufräumen
tools/ Einstellungen, Blinken, Posen, Teleoperation, Tuning, Diagnose und Anzeige

Behalten Sie die Namensnennung und Lizenz des Anbieters bei. Eine drahtgebundene Vertragsänderung erfordert koordinierte Aktualisierungen von Firmware, Treiber, Tests, Protokollversion und Dokumentation.

Aktuelle Grenzwerte

Software-Checks ersetzen keine Versuche am tatsächlichen Mechanismus. Der Temperaturschutz verwendet Rohmesswerte, deren Stabilität noch validiert werden muss. Belastung, Verstärkungen, Kalibrierung und mechanische Grenzen müssen für die jeweilige Baugruppe überprüft werden. Einschränkungen für veröffentlichte Bilder sind in den Versionshinweisen v0.1-preview aufgeführt.


Startseite der Dokumentation · Quellrevision: a995f77 . Extension 9.0 .