Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

Infineon leads the way: Enabling Rust for MCUs in the semiconductor industry

Infineon leads the way: Enabling Rust for MCUs in the semiconductor industry

10 likes received First like given 10 sign-ins

Three weeks ago, the Embedded World 2023 was held in Nürnberg where the latest products and innovations in the industry were exhibited. Infineon was also an exhibitor at this event, where I presented a demo showcasing Rust support for Infineon’s MCUs. Before Embedded World 2023, Infineon announced Rust support for our AURIX™ TC3xx, TC4x, TRAVEO™ T2G & PSoC MCU families, making it the first semiconductor company to officially support Rust. It was clear from the visitors' interest at the booth that this news had generated a lot of excitement in the industry.

Now, if you're involved in the tech industry, you've likely heard of Rust. But what is Rust, and why should you care about it? In this blog post series, we will be exploring the language and its potential for embedded systems development. We will also be discussing Infineon's efforts to create an ecosystem for Embedded Rust.

What is Rust?

Rust is a modern, systems programming language that prioritizes memory safety, performance and concurrency. It's a language that's gaining significant traction in the tech world, and for good reason. Rust allows developers to write fast and efficient code without sacrificing reliability or security, making it an ideal alternative for developing safety and security critical systems. These include automotive, industrial, and smart home devices, among others.

shahzeb_0-1680789478831.jpegFigure 1: Rust Logo

One of Rust's standout features is its approach to memory safety. The language uses an ownership model and a borrow checker that enforces ownership rules at compile time. This makes it nearly impossible to accidentally access memory that hasn't been allocated, reducing the occurrence of undefined behavior or security vulnerabilities.

It's impressive to see Rust's rise in popularity, especially considering that its first stable release was just eight years ago. Among its many achievements, Rust has been consecutively voted as the most loved programming language on Stack Overflow for the past seven years. It has also broken into the TIOBE 20 Most Popular Programming Language index, and is used for 21% of all new native code in Android 13. Furthermore, apart from C, Rust is the only other language supported for writing Linux Kernel Components and is extensively being used for backend software, infrastructure and microservices.

Infineon: A pioneer in enabling support of Rust for its MCUs

While there is already some community support for Rust in Embedded Systems, semiconductor companies have been slow to adopt this innovative language, especially for deeply embedded systems. Infineon is changing this narrative by becoming the first major semiconductor company to enable support for Rust for its MCUs. For ARM-based devices, Infineon is using the standard Rust ARM toolchain, while a custom Rust compiler was developed in collaboration with Infineon's tool partner, HighTec, for the AURIXTM architecture.



With Infineon's support, we can expect Rust's usage in Embedded Systems to become more widespread, standardizing the usage of Rust in the industry while engaging with the Rust FOSS community.

On a final note, the growing popularity of Rust is impressive, and Infineon's ecosystem for Embedded Rust will undoubtedly help to make it even more widely used in the industry. We are eager to further explore the potential of this innovative language and see how the Embedded Rust ecosystem develops. Since innovation in the tech industry never stops, it's important to stay up-to-date with the latest developments. We will explore Rust more in future blog posts but in case you haven't come across Rust code yet, here is something to help you get started.

I look forward to sharing more exciting information on Rust for MCUs with you in the future. Until then, happy coding! 😉

Links to explore further: