Skip to content

C++ templated HAL and BSP for xmega based devices. Squeezing as much as possible out of EWARM.

Notifications You must be signed in to change notification settings

CrustyAuklet/xmega-ecpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

C++ templated HAL and BSP for xmega based devices. Squeezing as much as possible out of EWARM.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages