Background image
Technical training - Programming
Training Logo

Embedded Rust

Why choose the Embedded Rust training

This course will teach you the fundamentals of embedded programming in Rust, a modern programming language blazingly fast, memory-efficient, memory-safe and thread-safe that enables you to eliminate many classes of bugs at compile-time. This course is ideal for those that already know the basics of Rust but want to quickly learn how to write Rust code for embedded systems. Get the most of an experienced trainer able to answer all your questions and a dedicated teaching environment.

Why Rust?

  • Performance: Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
  • Reliability: Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time.
  • Productivity: Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more.

Next sessions

Sessions are scheduled on demand. Please contact us to organize a session that suits your convenience.

What you'll learn

By the end you will become autonomous in developping embedded Rust applications.

  • Write Rust code in constrained contexts (no-std, no allocation, etc.)
  • Structure a Rust project for embedded systems
  • Write Rust code for embedded systems
  • Structure a Rust project for a Linux kernel module
  • Write Rust code for the Linux kernel

Target audience

All organization that want to train their technical staff (developers, team leaders, etc.) on Rust programming for embedded systems.


Prerequisite

  • Basic programming knowledge
  • Unix / Linux environment
  • Basic Rust programming

Certification

A completion certificate is addressed to all attendees that complete the course.

Sharable certificate


Teaching method and assessment

L'apprentissage s’effectue, pour chaque module, à 60% par des exercices pratiques et à 40% par des présentations. Plusieurs modalités pédagogiques sont mises en place en fonction du niveau des participants et de la taille du groupe : exercices pratiques, discussions guidées, le codéveloppement, le coaching individuel etc. Un ou plusieurs projets à réaliser en autonomie sont proposés dans l'objectif de consolider les connaissances apprises. La validation des acquis et l'évaluation est faite par le formateur tout au long de l'apprentissage (travail sur des cas pratiques, quiz).


Course format

Customized formats can be offered to suit your needs and expectations. Contact us to schedule a meeting with one of our consultants.

Access procedures, timelines, and process description

This training can be attended in person or online. The estimated delay to start est around 1 month.

Before the training

  • Interview and questionnaire to identify the expectations and requirements
  • Sending of the administrative documents: contract, welcome leaflet, etc.
  • Sending of the setup instruction and resources for the course

During the training

  • Attendees come with their computer
  • Evaluation all along the course of the training (exercises, quiz, questions)

At the end

  • Personal completion certificate
  • Self-evaluation questionnaire
  • Satisfaction survey

After the training

  • Satisfaction survey after 3 months

Accessibility

For all trainings, we conduct preliminary surveys to adapt our sites, pedagogical modalities and course animation to any declared disabilities. We are here, should you have any question or specific requirements. Contact us at formation@cenotelie.fr.


Course rating

  • Trainer quality : 5/5
  • Material and tools quality : 5/5

Contents training Embedded Rust

001 - Introduction

  • Revision of basic Rust programming

002 - Programming in constrained environments

  • no-std programming
  • no-std compatibility in libraries
  • programming without an allocator
  • writing the panic handler
  • writing an allocator

003 - Embedded targets

  • toolchain for cross-compilation
  • debugging
  • HAL
  • interruptions

004 - Async embedded rust

  • async runtimes for embedded systems
  • specificities of async code in embedded systems

005 - Rust for the kernel

  • write a Linux kernel module in rust
  • project setup
  • build toolchain setup

Quality of our training courses

Qualiopi logo

Our training courses have been awarded with the certification qualité Qualiopi.

Our dedication to excellence is at the heart of our mission. Discover our quality guidelines

Instructor

Laurent Wouters pratique Rust en production depuis 2017 et maîtrise ce langage au plus haut niveau. Cofondateur de Cénotélie et docteur en Théorie des langages, il a développé une expertise unique alliant fondements théoriques et réalisations industrielles concrètes. Son expérience comprend le développement complet d'une plateforme de suivi des cultures agricoles par analyse satellite (entièrement en Rust côté serveur) et des contributions à plusieurs projets open source, dont Hime et Cratery. Consultant senior recherché, Laurent a mené de multiples missions de développement de plateformes complexes pour des clients exigeants. Animateur de la communauté Rust française (https://rustaceans.fr/), il reste au cœur des évolutions du langage et partage les meilleures pratiques émergentes. Son parcours d'enseignant dans de grandes universités parisiennes, dont l'École Centrale Paris, lui confère une pédagogie éprouvée pour transmettre les concepts les plus avancés. Laurent vous accompagnera dans la maîtrise des aspects les plus sophistiqués de Rust : architecture de systèmes complexes, optimisations avancées, patterns idiomatiques et intégration en environnement professionnel. Une formation dispensée par l'un des meilleurs experts Rust français.


Next sessions

Sessions are scheduled on demand. Please contact us to organize a session that suits your convenience.

Do you need more info? Contact us

Technical training