Aymane Gafaiti

Rust for RF embedded development

Engineering internship at NXP Semiconductors

Period
Mar – Sept 2023
Status
Completed
Role
RF embedded systems engineering intern
Stack
  • Rust
  • C
  • HAL
  • Cryptography
  • Serial protocols

Six months at NXP Semiconductors in Caen to answer a concrete question: is Rust ready for RF embedded development, and at what cost?

What I did

  • HAL modules in Rust: cryptography and wired serial protocols, with test suites and documentation.
  • A C vs Rust benchmarking framework to compare binary size, performance and ergonomics on the same use cases.
  • An embedded logging tool for hardware targets, useful during the evaluation and reusable afterwards.

What I took away

Rust brings a lot in memory safety and expressiveness, at the price of an embedded ecosystem that was still young at the time. The benchmark made it possible to put numbers on the table rather than opinions.