Prenez contact avec nous

Plan du cours

Démarrage avec Rust pour l'embarqué

  • Aperçu de l'écosystème no_std, core et Rust pour l'embarqué.
  • Choix d'une cible cible (target) et compréhension des triples de cible.
  • Configuration de rustup, cargo et des chaînes d'outils de cible.

Outils, flux de construction et débogage

  • Utilisation des flux de travail cargo, cargo-embed, probe-run et OpenOCD.
  • Flashing et débogage avec des sondes matérielles (ST-Link, JLink).
  • Considérations CI pour la construction du micrologiciel Rust embarqué.

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

  • Compréhension des traits embedded-hal et des motifs de pilote.
  • Bibliothèques d'accès aux périphériques (PAC) et bibliothèques de périphériques (svd2rust).
  • Écriture et utilisation de pilotes HAL et de bibliothèques de support de carte (BSC).

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

  • Schémas 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 et du tas, allocateurs et évitement de l'allocation dynamique.

Gestion des erreurs, tests et fiabilité

  • Schémas de gestion des erreurs dans des environnements contraints.
  • Tests unitaires sur l'hôte vs tests d'intégration sur le matériel.
  • Analyse des défauts, journalisation (logging) et stratégies de post-mortem.

Performance, énergie et optimisation des ressources

  • Benchmarks, mesures et optimisation des chemins critiques.
  • Techniques de réduction de la taille du code et scripts de liaison.
  • Stratégies de gestion de l'énergie et motifs de conception basse consommation.

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

  • Amorçage sécurisé, signature du micrologiciel et stratégies de mise à jour.
  • Considérations sur la chaîne d'approvisionnement et gestion des dépendances.
  • Feuille de route pour la migration du micrologiciel C vers Rust et ressources de la communauté.

Synthèse et prochaines étapes

Pré requis

  • Une compréhension des concepts fondamentaux de Rust : propriété (ownership), emprunt (borrowing), durées de vie (lifetimes).
  • De l'expérience dans la rédaction de programmes Rust non triviaux (Rust intermédiaire).
  • Une connaissance des concepts embarqués : entrées/sorties mappées en mémoire, interruptions, périphériques.

Audience cible

  • Ingénieurs en micrologiciel embarqué souhaitant adopter Rust.
  • Ingénieurs logiciels expérimentés en Rust et souhaitant se转向 vers les systèmes bas niveau.
  • Responsables techniques évaluant l'usage de Rust pour le développement de produits embarqués.
 14 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires