Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
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.
Nos clients témoignent (1)
Pouvoir demander des sujets avancés même s'ils n'étaient pas prévus initialement.
Gabriel Chouinard - Spark Microsystems
Formation - FreeRTOS: Programming for Real Time Operating Systems
Traduction automatique