For anyone who may be interested, I've created an object oriented interface on top of FreeRTOS using C++ classes that encapsulate most of the fundamental
APIs. They allow you to craft a project using C++ code and conventions while handling the interface logic between the C and C++ code for you.
This C++ API currently provides or encapsulates:
- Critical sections
- Reader / Writer locks (new feature)
- Tasklets (Pended Functions)
- Threads (Tasks)
- Tick Hooks
The project page (WIP):
Version 1.0.0 of the code for download:
And the complete repository where you can browse the code and project online:
This is actually part of a larger project of mine, where I'd like to continue to add functionality to FreeRTOS and make it publicly available through
github. With regards to the C++ wrappers, there are 18 demo / unit test programs specifically exercizing it. I also updated / modified the work
William Davy did in his Posix port to get all of the demos running on multicore Linux workstations for testing with the newer FreeRTOS versions. This revised Posix port I renamed to Linux port, since I ended up using a few Linux specific APIs in it.
Everything was testing successfully using FreeRTOS versions 8.2.3 and 9.0.0.