Certifiable Rust

March 10, 2025
Ferrous Systems’s Ferrocene brings Rust into the safe and secure embedded space.

What you'll learn:

  • Why Rust is needed for safety- and mission-critical application development.
  • How a Rust compiler is certified for safe and secure applications.
  • Why Ferrocene needs to incorporate Rust enhancements carefully.

 

Developing applications for safety- and mission-critical applications for automotive, industrial, and medical devices requires a certified toolset. On that front, Ferrous Systems will show off its latest incarnation of Ferrocene at embedded world. This Rust toolset meets ISO 26262 (ASIL D), IEC 61508 (SIL 4), and IEC 62304 certifications. It’s open source and available on Linux, QNX Neutrino, and various RTOSes.

I talked with Florian Gilcher, Managing Director at Ferrous Systems, about the importance of the platform and how it was certified.  

Why Rust is Important for Safety- and Mission-Critical Applications

C and C++ tend to be the programming languages of choice for safety- and mission-critical applications these days, but they have significant issues when it comes to creating this software. Their ability to take advantage of the underlying hardware requires programmers to make sure the errors aren’t included in the generated software. The review process required to certify applications is rigorous; however, it depends on people rather than software to check for these errors.

Rust incorporates a number of features designed to make creation of software with this level of quality easier by having the compiler check for certain types of errors that can’t be checked by C and C++. Other programming languages like Ada and SPARK provide similar but different checks. It’s worth comparing them to see what might work best.

Check out our coverage of embedded world 2025, and this TechXchange for similar articles and videos

William Wong © Endeavor Business Media
Embedded World entrance
Embedded

Notable News from embedded world 2025

Check out the latest news from embedded world 2025 in Nuremberg Germany.
Dreamstime
rusty_programming_txc_dreamstime
TechXchange

Rusty Programming

Find out about the Rust programming language

What can be done with Rust—and not with C and C++—is static analysis at compile time. Static- analysis tools are available for C/C++, and most developers creating safety- and mission-critical software use them. But the definition of the C/C++ programming language doesn’t lend itself to rigorous analysis, whereas Rust was designed for this type of checking.

Whacking the Pointer Mole Using Rust

Safe memory management is one of the main features of Rust. Pointers and memory management are areas where Rust excels, and where C/C++ have the most problems. Rust avoids these pitfalls, and its static analysis catches most pointer errors at compile time.

The reason this can be done is that the language forces programmers to explicitly state how memory is referenced and it prevents accidental misuse of pointers. Rust’s “borrow checker” makes sure the lifetime of the underlying data matches what the program is doing. References to unallocated memory isn’t possible assuming Rust’s requirements aren’t bypassed.

Why Not Just Use Open-Source Ferrocene?

Ferrocene is an open-source project that can be downloaded and used for free. So why would developers want to buy it?

As it turns out, certifying applications and systems requires a bit more than being careful while developing an application. The tools being used must be certified as well.

More About Rust

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!