Exploring Rust – A Modern Systems Programming Language

The Rust programming language is a modern, compiled memory-safe, and statically typed systems programming language suitable for implementing embedded firmware, device drivers, high-performance network stacks and even operating systems – resource-constrained software systems. Rust targets software applications for which C/C++ has previously been considered the only suitable and widely supported ‘high-level’ development language available.

The video provides an overview of the Rust language, key differences between it and C/C++, how Rust achieves run-time performance similar to C/C++ while additionally offering memory and thread safety with resource usage efficiency. It also describes Rust’s current short-comings, and current or planned efforts to address these.

It concludes with a live demonstration of compiling, flashing, and running a (bare-metal) firmware application using the Rust Embassy async (concurrency) library. The presentation’s demo cross-builds on a Windows 11 development PC, with flashing and debug via a USB link to an STMicroelectronics STM32-F091RC single-core ARM M0 development board.

Curious about Rust? This video is for professionals, especially system developers and project decision makers who haven’t done extensive study, so they are better equipped to explore the Rust ecosystem, available resources, and this evolving and rapidly growing systems software technology.

About Jerry Rice

Jerry W. Rice has been professionally programming since 1977. After working as a system software assembly programmer at Tymshare/Tymnet (in Cupertino) from 1979 to 1982. He then founded his Silicon Valley based systems software company FABNexus (previously Integral Software Consulting), which he continues managing. He’s led and participated in client development teams for a range of systems applications using several programming languages, including assembly language (since 1976), C since 1984, C++ and Ada since 1988, as well as .Net C# since the early 2000’s. Development efforts have included systems software for digital PCB diagnostics, component diagnostics, firmware, drivers and test applications, semiconductor manufacturing process equipment software, medical and scientific instrumentation control and data collection applications, flight simulator subsystems and hardware diagnostics, as well as several GUI front-end applications. Jerry began exploring Rust in 2021, and has used it for several internal projects, as well as (open-source) support for a couple existing Rust system crates.

RUST Programming Resources