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 pour l'embarqué
- Aperçu de l'écosystème no_std, core et Rust pour l'embarqué.
- Choix d'une cible cible (target) et compréhension des triples de cible.
- Configuration de rustup, cargo et des chaînes d'outils de cible.
Outils, flux de construction et débogage
- Utilisation des flux de travail cargo, cargo-embed, probe-run et OpenOCD.
- Flashing et débogage avec des sondes matérielles (ST-Link, JLink).
- Considérations CI pour la construction du micrologiciel Rust embarqué.
Abstraction matérielle et accès aux périphériques
- Compréhension des traits embedded-hal et des motifs de pilote.
- Bibliothèques d'accès aux périphériques (PAC) et bibliothèques de périphériques (svd2rust).
- Écriture et utilisation de pilotes HAL et de bibliothèques de support de carte (BSC).
Sécurité mémoire, concurrence et temps réel
- Schémas 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 de la pile et du tas, allocateurs et évitement de l'allocation dynamique.
Gestion des erreurs, tests et fiabilité
- Schémas de gestion des erreurs dans des environnements contraints.
- Tests unitaires sur l'hôte vs tests d'intégration sur le matériel.
- Analyse des défauts, journalisation (logging) et stratégies de post-mortem.
Performance, énergie et optimisation des ressources
- Benchmarks, mesures et optimisation des chemins critiques.
- Techniques de réduction de la taille du code et scripts de liaison.
- Stratégies de gestion de l'énergie et motifs de conception basse consommation.
Déploiement, sécurité et bonnes pratiques de l'écosystème
- Amorçage sécurisé, signature du micrologiciel 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 micrologiciel C vers Rust et ressources de la communauté.
Synthèse 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 la rédaction de programmes Rust non triviaux (Rust intermédiaire).
- Une connaissance des concepts embarqués : entrées/sorties mappées en mémoire, interruptions, périphériques.
Audience cible
- Ingénieurs en micrologiciel embarqué souhaitant adopter Rust.
- Ingénieurs logiciels expérimentés en Rust et souhaitant se转向 vers les systèmes bas niveau.
- Responsables techniques évaluant l'usage de 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