This is a project for university containing bits and pieces of what might become an operating system for 32 bit ARM. It is written in Rust for the AT91RM9200, specifically the Portux920T.
arm-none-eabi-gcc
in thePATH
- Rust via
rustup
in thePATH
- install rustup
$ rustup default nightly
$ rustup component add rust-src
- Run
$ cargo build
to compile (default target path:target/armv4t-none-eabi/debug/rost
) to binary elf
qemu-system-arm-portux-fork
in thePATH
built from https://git.imp.fu-berlin.de/koenigl/qemu-portux
- Run
$ cargo run
to start qemu with our kernel
- Inline assemly in Rust
- replace external allocator with own
- implement correct differentiation for system interrupt handler (line 1)
- document every important function, macro or variable
- make syscalls language agnostic (c callable)
- look into thread signaling and signal handlers
- look into struct assiociated methods for TCB instead of direct access or functions