Plan du cours

Démarrage avec Embedded Rust

  • Aperçu de no_std, core et de l'écosystème Rust embarqué
  • Choix d'une cible et compréhension des triplets cibles
  • 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 workflows OpenOCD
  • Programmation 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

  • Compréhension des traits embedded-hal et des modèles de pilotes
  • Crates d'accès aux périphériques (PACs) et crates de dispositifs (svd2rust)
  • Écriture et utilisation de pilotes HAL et de crates de support de carte (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 en temps réel
  • Utilisation du tas vs. de la pile, gestionnaires d'allocation 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 l'hôte vs. tests d'intégration sur le matériel
  • Analyse des pannes, journalisation et stratégies post-mortem

Performance, consommation électrique et optimisation des ressources

  • Benchmarking, mesure et optimisation des chemins chauds
  • Techniques de réduction de la taille du code et scripts de liens
  • 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

  • Démarrage sécurisé, signature de firmware et stratégies de mise à jour
  • Considérations sur la chaîne d'approvisionnement et la gestion des dépendances
  • Feuille de route pour migrer du firmware C vers Rust et ressources communautaires

Résumé et étapes suivantes

Pré requis

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

Audience

  • Ingénieurs logiciel embarqué souhaitant adopter Rust
  • Ingénieurs logiciel avec une expérience en Rust transitionnant vers les systèmes de bas niveau
  • Chefs de projet évaluant Rust pour le développement de produits embarqués
 14 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires