My experimental bare metal OS for the raspberry pi. This file is used to track its current state and what I'm currently working on.
- GPIO - Example: Flash LED
- Framebuffer - Drawing pixels
- Terminal - Character based display
- System Timer
- Interrupts
- MMU
- eMMC reading/writing
- Fat32 - Small subset (read-only)
- Loading and executing binaries (ELFs)
- UART and MiniUart send/receive (interrupt based receive)
- Virtual memory (high memory kernel, Low memory user)
- Stacktraces on faults
- Multitasking
- Fat32 - Writing
- Audio
- Support for addition file systems: SFS, EXT2(?)
- GNU Tools for ARM
- Cygwin (Windows only)
Just clone the repository and run make in the root directory
Latest and greatest, not guaranteed to be stable.
- Simple terminal
- Framebuffer
- Keyboard input (using Chadderz usb driver)
Essentially started over, removed USB driver (I intend to write my own).
- UART
- Terminal output
- Interrupt handling
- Emmc driver
- Mailbox
- MMU
- Timer
- Reading elf
- Stack trace with function names
- Very crude multitasking (Multiple processes, each with one main thread)