Bluewind is an independent engineering company that provides world-class products, engineering and software solutions in the domains of electronics, safety critical applications, and connected devices.
Bluewind is a strategic partner who creates value in the whole product innovation cycle, taking part to product strategy stage, and providing electronics and software design, certifications consultancy, and production.
- Getting started and Code Examples
- Usage Guide
- Code Documenation
- Development utilities
- Troubleshooting
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.
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 compiling Rust for AURIX™, HighTec offers a combined package of their Rust and C/C++ compiler, accessible here.
Finally, to facilitate flashing and debugging on AURIX Veecle is maintaining the tricore-probe.
For additional information visit:
To get familiar with the drivers, you can start with the examples here.
They are meant to be standalone and to be used as a boilerplate for your new project.
Try a simple example:
git clone https://github.com/bluewind-embedded-systems/bw-r-drivers-tc37x-examples.git
cd bw-r-drivers-tc37x-examples
cd blinky
cargo +tricore build --target=tc162-htc-none
Check the Toolchain
The Rust code is structured to work with the defmt framework and tricore-probe, but you can use also other debugging tools, like UDE or MemTool (see Run section below).
Examples in this repo are:
Name | Description | Peripherals |
---|---|---|
blink | Blinking LED. Button press. | GPIO |
can | CAN bus send and receive | CAN |
can_loopback | CAN bus send and receive via loopback mode (no external reciever device required) | CAN |
You can find more information on drivers here: bluewind-embedded-systems.github.io/bw-r-drivers-tc37x
Move to the directory of the example you want to build and run:
cargo +tricore build --target=tc162-htc-none
This will generate an ELF file in the target/tc162-htc-none/debug
directory, which you can load into the target.
You have many options to flash and run these examples: