Prenez contact avec nous
 Durée 14 heures

Plan du cours

Démarrer avec le Rust embarqué

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

Outillage, flux de construction et de débogage

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

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

  • Comprendre les traits embedded-hal et les modèles de pilotes
  • Crates d'accès aux périphériques (PACs) et crates de périphérique (svd2rust)
  • Rédaction et utilisation des pilotes HAL et des crates de support des cartes (BSCs)

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 du tas vs pile, 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 pannes, journalisation et stratégies post-mortem

Performance, énergie et optimisation des ressources

  • Benchmark, mesure et optimisation des chemins critiques (hot paths)
  • Techniques de réduction de la taille du code et scripts de lien (linker scripts)
  • Stratégies de gestion de l'énergie et modèles de conception basse consommation

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

  • Démarrage sécurisé, signature du firmware 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 firmware C vers Rust et ressources de la communauté

Conclusion et prochaines étapes

Pré requis

  • Compréhension des concepts fondamentaux de Rust : ownership, emprunts, durées de vie (lifetimes).
  • Expérience dans la rédaction de programmes Rust non triviaux (niveau intermédiaire).
  • Familiarité avec les concepts embarqués : E/S mappée en mémoire, interruptions, périphériques.

Public cible

  • Ingénieurs en firmware embarqué envisageant l'adoption de Rust.
  • Développeurs logiciels expérimentés en Rust évoluant vers les systèmes basse couche.
  • Responsables techniques évaluant Rust pour le développement de produits embarqués.

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires