Design and Implementation of a Hardware Abstraction Layer for Embedded Systems in Rust
Hardware abstraction layers (HALs) are a common component provided with embedded devices. They enable easy creation of applications without diving deep into the specifics of the used hardware, peripherals, or interfaces. Most HALs are currently implemented in C or C++.
Rust is a relatively new programming language created in 2006 with strong focus on security and memory safety. It was since adopted by Amazon, Facebook, Google, and Microsoft and was voted most loved programming language on Stackoverflow every year since 2015. Rust was initially mainly used for host applications and is currently gaining traction in embedded software development. Rust offers a rich set of powerful language features which can be utilized to improve the way HALs are designed, implemented, and tested.
The aim of this diploma thesis is to explore and develop in the field of HALs for embedded µControllers in Rust. This includes research of state-of-the-art HAL concepts and implementations in C / C++, designing and implementing a HAL in Rust and evaluating the implementation in terms of usability, performance and footprint. Furthermore, we aim to explore the field of unit testing the peripheral accesses for embedded systems in Rust.
Infineon Technologies Austria and Graz University of Technology offer a paid diploma thesis in this innovative field of research:
Exploration of novel concepts for Rust in the fields of hardware abstraction layers and unit testing on host systems
Performance and usability evaluation for embedded µControllers