RasPI C++ Kernel (Mindflayer)
This bare-metal project was written entirely from scratch and is the product of countless months of research and trial. It was my attempt at learning how to write a kernel, but this project transcends that goal. Not only do I present to you a reasonably functional kernel, but also a lot of well commented code and a beautiful MIT license. Use this project to your hearts content, in any way imaginable. It was born out of a search for knowledge, and I hope the blood and sweat of my journey will assist others out there.
Mindflayer sports a hearty array of features, functions, helpers, etc. Most of the functionality lies within the framework itself, but here's a rather comprehensive list:
- Ability to set GPIO pins.
- Super basic drawing library.
- Examples of mapping to the IVT (interrupt vector table).
- Keyboard input (thanks to Alex Chadwick from Baking Pi).
- Memory management (and support for the new keyword).
- Simple threading (no scheduler, also a work-in-progress).
Future of This Project
The sky is the limit! I have some really odd ideas for my kernel, but they will probably go in a separate repository. I hope to keep this project pure and simply dedicated to the nuances of kernel development.