Skip to content

bluewind-embedded-systems/bw-r-drivers-tc37x-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bw-r-driver-tc37x-examples

About Bluewind

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.

Table of Contents

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 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:

Getting started

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

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

Build

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.

Run

You have many options to flash and run these examples:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages