Prenez contact avec nous

Plan du cours

Démarrage avec Rust pour l'embarqué

  • Vue d'ensemble de l'écosystème Rust pour l'embarqué : no_std, core, etc.
  • Choix d'une cible et compréhension des triplets de cible.
  • Installation de rustup, cargo et des chaînes d'outils spécifiques à la cible.

Outils, workflow de compilation et de débogage

  • Utilisation de cargo, cargo-embed, probe-run et des workflows OpenOCD.
  • Flashage et débogage avec des sondes matérielles (ST-Link, JLink).
  • Aspects CI pour la compilation de microprogrammes Rust embarqués.

Abstraction matérielle et accès aux périphériques

  • Compréhension des traits embedded-hal et des modèles de pilote.
  • Crates d'accès aux périphériques (PAC) et crates de dispositifs (svd2rust).
  • Écriture et utilisation des pilotes HAL et des crates de support de carte (BSC).

Sécurité mémoire, concurrence et temps réel

  • Modèles sûrs pour les états partagés et les références mutables dans les interruptions.
  • RTIC et autres modèles de concurrence pour les systèmes temps réel.
  • Utilisation de la pile vs. tas, allocateurs et évitement de l'allocation dynamique.

Gestion des erreurs, tests et fiabilité

  • Modèles de gestion des erreurs dans les environnements à ressources limitées.
  • Tests unitaires sur l'hôte vs. tests d'intégration sur matériel.
  • Analyse des défauts, journalisation et stratégies de post-mortem.

Performance, consommation d'énergie et optimisation des ressources

  • Profiling, mesures et optimisation des chemins critiques.
  • Techniques de réduction de la taille du code et scripts d'éditeur de liens.
  • Stratégies de gestion de l'alimentation et modèles de conception basse consommation.

Déploiement, sécurité et bonnes pratiques de l'écosystème

  • Démarrage sécurisé, signature de microprogrammes et stratégies de mise à jour.
  • Aspects liés à la chaîne d'approvisionnement et gestion des dépendances.
  • Feuille de route pour la migration de microprogrammes C vers Rust et ressources communautaires.

Conclusion et prochaines étapes

Pré requis

  • Compréhension des concepts fondamentaux de Rust : propriété, emprunt, durées de vie.
  • Expérience dans l'écriture de programmes Rust non triviaux (Rust intermédiaire).
  • Connaissance des concepts embarqués : Entrées/Sorties mappées en mémoire, interruptions, périphériques.

Audience cible

  • Ingénieurs en microprogrammes embarqués souhaitant adopter Rust.
  • Ingénieurs logiciels avec expérience de Rust et souhaitant se diriger vers les systèmes à bas niveau.
  • Responsables techniques évaluant Rust pour le développement de produits embarqués.
 14 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires