Prenez contact avec nous

Plan du cours

Débuter avec Rust embarqué

  • Vue d'ensemble de l'écosystème Rust embarqué : no_std, core et autres.
  • Choix d'une cible et compréhension des triplets de cible (target triples).
  • Configuration de rustup, cargo et des chaînes d'outils cibles.

Outils, construction et flux de débogage

  • Utilisation des workflows avec cargo, cargo-embed, probe-run et OpenOCD.
  • Programmation 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 modèles de pilotes.
  • Crates d'accès aux périphériques (PAC) et crates de dispositifs (svd2rust).
  • Écriture et utilisation de pilotes HAL et de crates de prise en charge de cartes (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 et du tas, allocateurs, et évitement de l'allocation dynamique.

Gestion des erreurs, tests et fiabilité

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

Performance, puissance et optimisation des ressources

  • Évaluation des performances, 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

  • Boot 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 communautaires.

Synthèse et prochaines étapes

Pré requis

  • Une compréhension des concepts fondamentaux de Rust : propriété, emprunt, durée de vie.
  • De l'expérience dans l'écriture de programmes Rust non triviaux (Rust intermédiaire).
  • Une connaissance des concepts embarqués : E/S mappées en mémoire, interruptions, périphériques.

Public cible

  • Ingénieurs en micrologiciel embarqué souhaitant adopter Rust.
  • Développeurs logiciels avec une expérience de Rust qui se tournent vers les systèmes de bas niveau.
  • Chefs de projet techniques é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