Hello everyone,
I would like to share with you a project that i’ve been working for couple of month now, this project is an RTOS written in C++ 14 aiming cortex M3, M4 and M7 named Yggdrasil. It was already tested successfully on some cortex M4 from ST Microelectronics (you can take a look at the Bsp repository to see which processors are already running Yggdrasil). Some features are still lacking (like floating point support), this still an in development project but it will be improved over the time.
I’m working in small company that makes embedded systems, we are writing all our embedded programs in C++, which allows us to be more flexible and write more reusable software as if it was written in C. As far as I know the C++ is not used a lot in embedded systems, but I think it’s more powerful than C and if it is well written does not have any or not any noticeable overhead. I have seen how C++ RTOS is efficient by using the homemade RTOS we have in my company and as I don’t have found any open source C++ RTOS I decided to write my own.
Writing this RTOS allows me to understand more the inner mechanisms of the processor, and I saw that there is not much documentation about how to make an RTOS for Cortex M processors. So I tried to document the code for people who want to understand the code and maybe jump into this adventure and write their own RTOS.
I release the project under MIT license, so everyone can use it as is, fork the project to modify it or use it to create your own RTOS.
There is already some pages in the wiki that should help if you want to take a look and try it, more articles will come. If you have any question, any remark or any suggestion for new feature, documentation or else, feel free to send me an email via Github, I will answer it as fast as possible.
I hope you will enjoy using Yggdrasil as much as i enjoyed coding it =)
Yggdrasil :
https://github.com/shangaoren/yggdrasil/Bsp for Yggdrasil :
https://github.com/shangaoren/bsp