SharpCoder / rpi-kernel

A Basic (non Linux) C++ Kernel for Raspberry Pi.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Features

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.

About

A Basic (non Linux) C++ Kernel for Raspberry Pi.

License:MIT License


Languages

Language:Assembly 72.2%Language:C++ 21.0%Language:C 4.5%Language:Shell 2.3%Language:Brainfuck 0.0%