A practical way to run Rust in automotive controllers

In the automotive industry, the integration of robust software ecosystem is crucial, as are the tools to comply with the automotive-grade standards. This ensures the reliability and performance necessary to meet the rigorous requirements of this industry. Infineon, recognizing these needs, has worked with its Rust partners to offer a complete Rust ecosystem for AURIX™.

This collaboration introduces a groundbreaking solution for integrating Rust into automotive controllers, enhancing safety and efficiency without sacrificing legacy system compatibility. This initiative is anchored in the AURIX™ Rust Startup Ecosystem, which enables Rust and C to coexist seamlessly, particularly on the AURIX™ architecture used widely in automotive and industrial applications.

Key highlights

  • Safety and Efficiency: Rust’s memory safety features reduce the risk of bugs and vulnerabilities, crucial for automotive software’s reliability.

  • Legacy Compatibility: The ecosystem supports existing C/C++ code, allowing for the integration of modern Rust functionalities without rewriting legacy systems.

  • ASIL-D Compliance: Integration with PXROS-HR, an ASIL-D certified RTOS, ensures that Rust components meet the highest safety standards without interfering with critical tasks.

This approach empowers automotive manufacturers to adopt modern software practices, ensuring faster development cycles, safer applications, and the ability to introduce innovative features efficiently.

Veecle AURIX™ runtime

Veecle provides a Rust runtime for writing automotive and industrial Rust on top of HighTec’s safety kernel for the Infineon AURIX™ Platform.

  • Usable: The code, examples, and tooling have been designed to minimize friction and enable productive development from day one.

  • Future-proof: Integration with a safety kernel and isolation into memory-protected tasks ensures Rust can be used in critical contexts from the outset.

  • Legacy Compatible: By isolating Rust into tasks and allowing FFIs only through kernel messages, we facilitate the coexistence of legacy C tasks with Rust. This enables proven code reuse, thereby avoiding costly re-implementations.

Veecle also maintains tricore-probe: a tool that facilitate flashing and debugging of Rust applications on AURIX™.

Try it out

Getting started, installation, and examples can be found on  GitHub

AURIX™ Rust Startup Ecosystem

The AURIX™ Rust Startup Ecosystem is a collaborative effort involving Veecle, Infineon, HighTec and Bluewind aimed at supporting Rust on Infineon’s AURIX™ architecture for automotive and industrial applications. The primary objective is to empower customers to seamlessly integrate Rust tasks alongside existing “C” implementations for evaluation and pre-development purposes.

AURIX Rust Startup Ecosystem

The AURIX™ Rust Startup Ecosystem consists of:

  • A Peripheral Access Crate (PAC) from Infineon.
  • Low-level drivers from Bluewind, fully written in Rust.
  • A precompiled version of PXROS-HR, an ASIL-D RTOS written in C, developed by HighTec. Rust PXROS-HR bindings developed jointly by Veecle and HighTec.
  • A Rust runtime from Veecle, named veecle-pxros, which seamlessly integrates with PXROS-HR, providing a native Rust experience. This runtime also supports asynchronous execution where feasible.
  • A curated set of examples by Veecle and Bluewind, covering bare metal driver examples, driver instances employing PXROS-HR, and connectivity application demonstrations.

For the official press release visit Infineon’s promo page.