Get the latest tech news

Embedded Rust or C Firmware? Lessons from an Industrial Microcontroller Use Case


As Rust gains traction for developing safer systems software, a reality check for the microcontroller hardware segment becomes necessary. How ready is the Rust ecosystem for this segment? Can Rust compete with C in practice? This paper reports on an IoT industrial case study that contributes to answering these questions. Two teams concurrently developing the same functionality (one in C, one in Rust) are analyzed over a period of several months. A comparative analysis of their approaches, results, and iterative efforts is provided. The analysis and measurements on hardware indicate no strong reason to prefer C over Rust for microcontroller firmware on the basis of memory footprint or execution speed. Furthermore, Ariel OS is shown to provide an efficient and portable system runtime in Rust whose footprint is smaller than that of the state-of-the-art bare-metal C stack traditionally used in this context. It is concluded that Rust is a sound choice today for firmware development in this domain.

None

Get the Android app

Or read this on Hacker News

Read more on:

Photo of lessons

lessons

Photo of Rust

Rust

Photo of c firmware

c firmware

Related news:

News photo

Zed team releases version 1.0 of Rust-built editor: Traditional editor and AI tool

News photo

Lessons from Building an OTel Normalizer for GenAI

News photo

A grounded conceptual model for ownership types in Rust