Kompilierung und Prüfung ohne Hardware
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.
Ü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
| 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 .

