Aller à l’article

Compilation et vérification sans matériel

Vérifié 2026-11-01

Utilisez cette page pour modifier le code source et vérifier l’implémentation. Pour une installation ordinaire, suivez l’image publiée outil de programmatione . Construire un binaire brut ne remplace pas la production et la validation d’une image codée et d’un manifeste correspondant.

Chaîne d’outils et commandes

Installez arm-none-eabi-gcc, Make, Python 3 et un compilateur hôte C prenant en charge AddressSanitizer/UndefinedBehaviorSanitizer. Exécutez à partir de la racine du référentiel dans un environnement doté de ces outils :

make
make verify

Pour une chaîne d’outils ARM en dehors de PATH :

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

Remplacez /path/to/toolchain/bin/ par son emplacement réel. Le Makefile racine délègue à firmware/ . Les sorties du micrologiciel vont à build/motor-release/ et les tests natifs à build/host/ . Ces commandes ne flashent pas le matériel.

Étapes de vérification de la source, de la construction du micrologiciel et hors ligne

Vérifier la couverture

Commande Portée
npm test / PowerShell npm.cmd test Pilote Node.js, contrôleur partagé et outils utilisant du matériel simulé
make verify Construction du micrologiciel, régressions C, contrats de registre/stockage et disposition des images
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v Clignotant et réparation en usine avec des appareils série simulés
npm run test:driver-package Emballage et installation du pilote avec cache npm disponible

Le chemin Python dans le tableau concerne macOS/Linux ; utilisez tools\flash\.venv\Scripts\python.exe sous Windows. Les tests de la visionneuse nécessitent ses dépendances Python 3.12 distinctes ; le répertoire de test est tools/simulation/test et le répertoire d’importation est tools/simulation .

Les tests logiciels n’établissent pas la précision du bras, le comportement thermique sous charge réelle ou les gains moteur appropriés. Les tests de différences matérielles sont une opération distincte : ils peuvent déplacer des moteurs et remplacer des modèles de paramètres/réinitialisation. Ne les remplacez pas par des diagnostics stationnaires sur un bras assemblé.

Disposition de la mise en œuvre

Responsabilités du micrologiciel, du pilote hôte et des outils

Annuaire Objectif
firmware/app/ Coordination, exécution, Extension et services de périphérique
firmware/core/ Contrôle, détection, protocole, registres et stockage
firmware/platform/gd32f130/ Pilotes matériels, démarrage, script de liaison et code du fournisseur
firmware/tests/ Régressions C et vérifications Python
host/servo-driver/ Encodage et transport de paquets
host/arm-control/ Sessions, profils, gravité et nettoyage
tools/ Paramètres, programmation du firmwares, poses, téléopération, réglage, diagnostic et visualisation

Conservez l’attribution et les licences du fournisseur. Un changement de contrat filaire nécessite des mises à jour coordonnées du micrologiciel, du pilote, des tests, de la version du protocole et de la documentation.

Limites actuelles

Les contrôles logiciels ne remplacent pas les essais sur le mécanisme réel. La protection de la température utilise des lectures brutes dont la stabilité doit encore être validée. La charge, les gains, l’étalonnage et les limites mécaniques doivent être vérifiés pour l’assemblage particulier. Les limitations des images publiées sont répertoriées dans les notes de version v0.1-preview .


Accueil de la documentation · Révision source : a995f77 . Extension 9.0 .