Tech News
← Back to articles

Pre-Emptive Multi-Tasking on Arm Cortex-M

read original related products more articles

Scroll through the blog: ‹ Newer | List All | Older ›

Pre-emptive Multi-Tasking on Arm Cortex-M

Posted on 2025-09-28

Contents

Background

I write a lot of embedded software in Rust these days - sometimes for fun, and sometimes as training material, and sometimes for customers building safety-critical systems. This last group are usually already writing safety-critical software in C, and wish to switch to writing Rust.

When you are writing safety-critical software in C, you are usually using some kind of Real-Time Operating System (RTOS) - something that lets you execute multiple tasks concurrently, and that provides queues and timer services so those tasks can message each other and wait for time to elapse. Not always, obviously, but I see it quite often.

C-language RTOSes

One option for people using an RTOS and wanting to switch to Rust, is to run Rust code on top of their an existing RTOS. A incomplete alphabetical list might include:

And we're barely scratching the surface here.

... continue reading