aihPOS is (better: shell be in the future 😏) the operating system used in the undergraded course "Operating Systems" at the TU Chemnitz.
Directories:
bin/
: tools for building; currentlycargo-kernel
onlyjtag/
: small kernel to allow development with use of JTAGkernel/
: micro kernel for aihPOS
Prerequisites:
- Nightly Rust
- Cargo
- Xargo
- GCC Arm Cross tools
Put cargo-kernel
in your path. Then run
cargo kernel --target=arm-none-eabihf
- Tools and Booting
- Debug LED interface
- Interrupt routines
- Console ouput (framebuffer, for debug)
- Keyboard input
- Heap (allocator)
- Paging
- Context switch
- IPC
- Geräte (BMC2835)
- GPIO
- Interrupt controller
- ARM timer
- System timer
- Mini Uart
- Uart
- DMA controller
- User land
- Loader
- Shell
Since aihPOS should support an undergraduate course at a German university, all source comments are in German. Possibly, I will create a branch with translations once the code is stable.