Formation au langage Rust, applications à la robotique et l'embarqué
Rust Rob & Dev 2024
Action Nationale de Formation co-organisée par les réseaux 2RM et Devlog
Comité d'organisation :
- Gérald Dherbomez, CRIStAL
- Michaël Hauspie, CRIStAL
- Mathieu Herrb, LAAS-CNRS
- Dirk Hoffman, CPPM
- Eric Maldonado, INRAE
- François Marmoiton, Institut Pascal
- Guillaume Ollivier, Inria
- Guilhem Saurel, LAAS-CNRS
Avec le soutien de la Formation Permanente de la délégation Hauts de France du CNRS, Delphine Alexandre, Bixente Decaudin et Pierre Silveira.
Dates
La formation se déroulera du mardi 26 novembre 2024 midi au vendredi 29 novembre 2024 midi.
Lieu
Lille - Laboratoire CRIStAL - bâtiment ESPRIT.
Adresse : Université de Lille - CRIStAL - UMR 9189 Cité Scientifique - Bâtiment ESPRIT Avenue Henri Poincaré 59650 Villeneuve d’Ascq
Accès facile en transports en commun via la ligne 1 du métro, descendre au terminus, arrêt 4 cantons stade Pierre Mauroy.
Inscriptions
Les inscriptions sont ouvertes jusqu'au 10 octobre 2024 à 18h sur ce lien : https://forms.cristal.fr/view.php?id=53804
Programme
La formation se déroulera sur 6 demi-journées (étalées sur 4 jours) en commençant le mardi à midi et en terminant le vendredi à midi.
Les deux premiers jours seront assurés par Stéphane Mourey de la société Pixyblue, voici le programme qui sera abordé : Programme formation Rust - PixyBlue.pdf
Les slides de la formation sont disponibles ici : https://rustinit.stephanemourey.fr/ et les ressources de code : https://github.com/taophp/formation-rust (aller voir dans les tags pour récupérer les différentes étapes des exercices et les codes associés.
Le dernier jour, deux retours d'expérience seront présentés par Michaël Hauspie et Guilhem Saurel
Michaël Hauspie, enseignant chercheur au sein de l'unité CRIStAL
Comment partir de 0 et monter un nouveau projet rust sur une board embarquée:
- configuration de cargo pour le cross-compiling
- baremetal et crate no_std
- link script
- code unsafe pour l'accès au matériel (raw pointers, etc.)
TP sur des plateformes ARM ou RISCV via l'utilisation d'un émulateur.
Ressources :
La liste des projets de Michaëll sur le gitlab de l'université de Lille : https://gitlab.univ-lille.fr/users/michael.hauspie/projects
Plus précisément le support de cours utilisé pour la formation : https://gitlab.univ-lille.fr/michael.hauspie/rust-baremetal
Guilhem Saurel, ingénieur de recherche CNRS au sein de l'unité LAAS-CNRS
TP embarqué (esp-rs / embassy) + web (leptos) basé sur le contenu présenté à ces 3 occasions:
Journées 2RM 2023 (https://homepages.laas.fr/gsaurel/talks/rust-rovers.pdf)
Capitole du libre 2023 (https://homepages.laas.fr/gsaurel/talks/robotique-rust.pdf)
LAAS 2024 (https://homepages.laas.fr/gsaurel/talks/rust-intro.pdf)
Ressources : https://github.com/nim65s/robots
Jour 1 |
||
12h00 |
Accueil des participants |
|
14h00 |
Introduction à RUST et tests |
Stéphane Mourey, Pixyblue |
15h30 |
Pause |
|
16h00 |
Introduction à RUST et tests |
Stéphane Mourey, Pixyblue |
18h00 |
Fin jour 1 |
|
Jour 2 |
||
09h00 |
Ecriture d'une librairie RUST |
Stéphane Mourey, Pixyblue |
10h30 |
Pause |
|
11h00 |
Ecriture d'une librairie RUST |
Stéphane Mourey, Pixyblue |
12h30 |
Repas |
|
14h00 |
Réalisation d'une application RUST en ligne de commande |
Stéphane Mourey, Pixyblue |
15h30 |
Pause |
|
16h00 |
Réalisation d'une application RUST en ligne de commande |
Stéphane Mourey, Pixyblue |
18h00 |
Fin jour 2 |
|
Jour 3 |
||
09h00 |
Réalisation d'une application web en RUST |
Stéphane Mourey, Pixyblue |
10h30 |
Pause |
|
11h00 |
Réalisation d'une application web en RUST |
Stéphane Mourey, Pixyblue |
12h30 |
Repas |
|
14h00 |
Créer son projet RUST sur une carte embarquée (1/2) |
Michaël Hauspie, CRIStAL |
15h30 |
Pause |
|
16h00 |
Créer son projet RUST sur une carte embarquée (2/2) |
Michaël Hauspie, CRIStAL |
18h00 |
Fin jour 2 |
|
Jour 4 |
||
09h00 |
TP de programmation embarquée en RUST sur ESP-RS (1/2) |
Guilhem Saurel, LAAS-CNRS |
10h30 |
Pause |
|
11h00 |
TP de programmation embarquée en RUST sur ESP-RS (1/2) |
Guilhem Saurel, LAAS-CNRS |
12h30 |
Fin |