Skip to content

Latest commit

 

History

History
16 lines (13 loc) · 1.11 KB

README.md

File metadata and controls

16 lines (13 loc) · 1.11 KB

C++ HAL and BSP for XMega devices

This repository is an attempt to use modern C++ techniques to create a HAL and BSP for XMega based devices, while being stuck with a pre-c++11 compiler. The IAR compiler for AVR uses a standard called Embedded C++. This is not a standard in line with the normal C++ standards, and eliminates a lot of useful things like namespaces, templates, etc. It is closest to C++98 though the STL provided seems to be C++03. You can compare this project with a copy using a modern compiler HERE

Much of this library relies on "IAR extensions" since we make use of namespaces, "advanced" template techniques, and other things not in embedded C++.

The HAL layer is heavily inspired by c++-register-access by Ken Smith, One Approach to Using Hardware Registers in C++ by Martin Moene, and modm by Niklas Hauser et all.

The HAL is generated with Python and Jinja2 using ATDF-parse.