Prenez contact avec nous

Plan du cours

Démarrage avec Rust embarqué

  • Vue d'ensemble de l'écosystème Rust embarqué : no_std, core et embedded.
  • Choix d'une cible et compréhension des triplets de cible.
  • Mise en place de rustup, cargo et des chaînes d'outils cibles.

Outils, compilation et flux de débogage

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

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

  • Compréhension des traits embedded-hal et des motifs de pilote.
  • Crates d'accès aux périphériques (PAC) et crates de périphérique (svd2rust).
  • Écriture et utilisation des pilotes HAL et des crates de prise en charge de carte (BSC).

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

  • Modèles sûrs pour l'état partagé 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 éviction de l'allocation dynamique.

Gestion des erreurs, tests et fiabilité

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

Performance, alimentation et optimisation des ressources

  • Benchmarks, mesure et optimisation des chemins critiques.
  • Techniques de réduction de la taille du code et scripts de liaison.
  • Stratégies de gestion de l'alimentation et modèles de conception basse consommation.

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

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

Résumé 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 l'écriture de programmes Rust non triviaux (Rust intermédiaire).
  • Une familiarité avec les concepts embarqués : E/S mappée en mémoire, interruptions, périphériques.

Public cible

  • Ingénieurs en micrologiciels embarqués souhaitant adopter Rust.
  • Ingénieurs logiciels avec de l'expérience en Rust, se tournant vers les systèmes bas niveau.
  • Chefs de technique évaluant 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