1.4 KiB
1.4 KiB
MiniOS Kernel (ARMv7)
This is a minimal bare-metal ARM kernel project built for educational and prototyping purposes.
It includes multitasking, a UART shell, a simple task scheduler, and IRQ handling.
Tested and compatible with Windows 10 using arm-none-eabi-gcc and QEMU.
Features
- ARMv7 Bootloader (
boot.s,boot.ld) - UART driver (
uart.c,uart.h) - Task manager with real context switching (
task.c,switch.s) - Round-robin scheduler triggered by timer IRQ (
irq.s) - Interactive shell via UART (
shell.c)- Supported commands:
ps– list tasksecho– simple messagehalt– stop execution
- Supported commands:
Requirements
How to Build and Run
make
qemu-system-arm -M versatilepb -m 128M -nographic -kernel kernel.bin
Once running, you'll see:
MiniOS Kernel Booted
MiniOS Shell>
Type one of the supported commands (ps, echo, halt).
Next Steps (Optional)
- Virtual File System (VFS)
ls,cat,cdshell commands- ELF binary loader
- FAT32 filesystem support
- Advanced multitasking with priorities
Author
Built by Georgiana using ARM bare-metal architecture.
Powered by QEMU and the GNU ARM Toolchain.