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.
Plan du cours
Démarrage avec Rust embarqué
- Vue d'ensemble de l'écosystème Rust embarqué : no_std, core et embedded.
- Choix d'une cible et compréhension des triplets de cible.
- Mise en place de rustup, cargo et des chaînes d'outils cibles.
Outils, compilation et flux de débogage
- Utilisation des flux de travail avec cargo, cargo-embed, probe-run et OpenOCD.
- Flashage 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 motifs de pilote.
- Crates d'accès aux périphériques (PAC) et crates de périphérique (svd2rust).
- Écriture et utilisation des pilotes HAL et des crates de prise en charge de carte (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 vs. tas, allocateurs et éviction 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 matériel.
- Analyse des défaillances, journalisation (logging) et stratégies post-mortem.
Performance, alimentation et optimisation des ressources
- Benchmarks, 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
- Démarrage sécurisé, signature du micrologiciel et stratégies de mise à jour.
- Considérations de la chaîne d'approvisionnement et gestion des dépendances.
- Feuille de route pour la migration de micrologiciels C vers Rust et ressources de la communauté.
Résumé et prochaines étapes
Pré requis
- Une compréhension des concepts fondamentaux de Rust : propriété (ownership), emprunt (borrowing), durées de vie (lifetimes).
- De l'expérience dans l'écriture de programmes Rust non triviaux (Rust intermédiaire).
- Une familiarité avec les concepts embarqués : E/S mappée en mémoire, interruptions, périphériques.
Public cible
- Ingénieurs en micrologiciels embarqués souhaitant adopter Rust.
- Ingénieurs logiciels avec de l'expérience en Rust, se tournant vers les systèmes bas niveau.
- Chefs de technique évaluant Rust pour le développement de produits embarqués.
14 Heures
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