Prenez contact avec nous
 Durée 14 heures

Plan du cours

Démarrage avec le Rust embarqué

  • Aperçu de l'écosystème Rust embarqué : no_std, core et éléments associés
  • 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, flux de construction et de débogage

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

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 périphériques (svd2rust)
  • Écriture et utilisation de pilotes HAL et de crates de prise en charge des cartes (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 du tas (heap) et de la pile (stack), allocateurs et éviter l'allocation dynamique

Gestion des erreurs, tests et fiabilité

  • Modèles de gestion des erreurs dans des environnements contraints
  • Tests unitaires sur l'hôte par rapport aux tests d'intégration sur le matériel
  • Analyse des pannes, journalisation et stratégies de post-mortem

Performance, alimentation et optimisation des ressources

  • Benchmarks, mesure et optimisation des chemins critiques (hot paths)
  • Techniques de réduction de la taille du code et scripts de liens (linker scripts)
  • Stratégies de gestion de l'alimentation et modèles de conception à faible consommation

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

  • Secure boot, 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 migrer un firmware C vers Rust et ressources communautaires

Résumé et prochaines étapes

Pré requis

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

Public cible

  • Ingénieurs firmware embarqué souhaitant adopter Rust
  • Ingénieurs logiciels possédant une expérience en Rust et passant aux systèmes bas niveau
  • 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