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.

on-site

online

Français

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.

Add it to your Linkedin profile

Sharable certificate


Teaching method and assessment


Course format

3 days 21 hours, 2100 € (VAT excl.)
Other course formats are available. Contact us to discuss about your specific needs with one of our advisors.

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

Instructor

Laurent Wouters est cofondateur de Cénotélie et chercheur. Laurent pratique le langage Rust au quotidien depuis plusieurs années, notamment dans le cadre du développement d'une plateforme en ligne pour le suivi de la croissance des cultures agricoles sur la base de l'analyse d'images satellite. Il s'agit d'un produit industriel complexe, dont tous les composants côté serveur sont écrits en Rust. Pour un aspect plus visible, Laurent participe à Hime, dont une version du runtime est écrite en Rust.

Laurent détient un titre de doctorat en Théorie des langages. Durant ses activités de recherches il s'est passionné à comprendre comment les languages et la sémantique peuvent améliorer les pratiques de collaboration et l'ingénierie des systèmes complexes. Par ailleurs, il a participé à l'encadrement de plusieurs travaux de stage et de thèse. Avant de devenir un formateur professionnel, il s'est forgé une expérience en tant qu'enseignant dans plusieurs grandes universités parisiennes, dont l'Ecole Centrale de Paris.


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