FreeRTOS implemented in Rust
- rust environment
- Riscv toolchain
- qemu
- if you want to build Image run on D1,download T-head Riscv toolchain in occ.t-head.cn.
rustup install nightly
rustup default nightly
rustup target add riscv32imac-unknown-none-elf
rustup target add riscv64imac-unknown-none-elf
rustup target add riscv64gc-unknown-none-elf
We provide Makefile
to help quickly start build
- if you want to build project that fit qemu-system-riscv32,set config in
./.cargo/config
[build]
target = "riscv32imac-unknown-none-elf"
and run make run32
- else if you want to build project that fit qemu-system-riscv64,set config in
./.cargo/config
[build]
target = "riscv64imac-unknown-none-elf"
and run make run64
if you want to build project that can run on the D1 board,please checkout to master-64D1
branch
make build
and you can find RFreeRTOS_Image
file. You can just load that image file run on the D1 board without any other helper process like OpenSBI
.
You can find some sample docs in RFREERTOS_DOC.
This is a group experiment project of THU OS course. Thank teachers, teaching assistants and engineers for their support and help.
Due to limited time and capacity, there may still be many problems and incomplete documents in the project. If you are interested in this project and find some problems, welcome to file an issue.