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 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
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