Hi Wouter,

> On 27 Aug 2015, at 23:20, Wouter van Ooijen <wou...@voti.nl> wrote:
> Thanks for the long reply, which gives me some hints how to read your code. 
> I'll probably come with some more questions later.
> You are of course welcome to post it on your mailing list!
> Do you know of other groups or individual who are using C++ in this let's 
> call it 'advanced' way on small systems? I now know myself, Odin Holmes with 
> his Kvasir, and you. (BTW I added you to 
> http://www.voti.nl/blog/?page_id=144). I found your work by pure accident, so 
> extrapolating from that there must be more. It would be nice to at least be 
> mutually aware of all such efforts!

Yes, of course.

Christopher Kormanyos [1] wrote a book called “Real Time C++” [2] which is a 
very good generic introduction into the topic, but does not cover interface 
design as found in xpcc.

Christian Menard wrote an AVR C++ library call “yalla” [3], which is very 
impressive in its _consistent_ use of C++14. He also contributed to xpcc with a 

Andy has a very popular framwork called stm32cpp [4], which is however more 
“traditional” in its use of C++ and he builds on the CMSIS HAL layers provided 
by ST, which are written in C and this can limit the C++ interface.
He also has a very interesting TCP/IP stack written in pure C++ [5], which 
might be a good alternative for LWIP, and  some really awesome hardware 
projects, like a FPGA sprite engine [6].

By far the most technologically impressive framework is written by Google 
Engineer C. Biffle, called ETL [7].
It only covers the STM32F407 and not all functionality of it, but his 
incredible in-depth knowledge of C++ and the amazing design of some of his APIs 
deeply impressed me.
I really need to append his implementation of typesafe register access [8] to 
our blog post about it.

There is also a OS kernel called Miosix [9], which aims to provide full C++ 
standard libraries, including posix compatible threading API, with a really 
cool scheduler. Only works on ARM, though.

A framework called McuCpp [10] written by Konstantin Chizhov most closely 
resembles xpcc.
He has very similar ideas of using static polymorphism for GPIOs and device 
drivers and even uses the same build system (SCons).
However, xpcc is a lot more complete and it is a lot easier to describe 
different peripheral hardware using our meta-template build system.

Those are all I remember from the top of my head, I hope I did not forget 
If you’re reading this on the list and have an awesome C++ µC library, just 
give it a shout-out.


[1]: https://github.com/ckormanyos
[2]: http://www.springer.com/us/book/9783642346873
[3]: https://github.com/chrism333/yalla
[4]: https://github.com/andysworkshop/stm32plus
[5]: http://andybrown.me.uk/2013/07/14/stm32plusnet/
[6]: http://andybrown.me.uk/2014/06/01/ase/
[7]: http://cliffle.com/project/etl/
[8]: https://github.com/cbiffle/etl/tree/master/biffield
[9]: https://miosix.org
[10]: https://github.com/KonstantinChizhov/Mcucpp
xpcc-dev mailing list

Reply via email to