You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB

RISCV 移植记录

开发环境

具体配置过程详见Dockerfile

Rust-RISCV

目标指令集RISCV32IA

target: riscv32ia_unknown_none

由于工具链二进制版本尚未内置riscv32ia_unknown_none的target因此需提供配置文件riscv32-blog_os.json

为什么要用原子指令扩展?

RustOS依赖的库中大部分都使用了Rust核心库的原子操作core::sync::atomic

如果目标指令集不支持原子操作,会导致无法编译。

BootLoader

参考bbl-ucore及后续的ucore_os_lab for RISCV32,使用bbl作为BootLoader。

然而官方版本和bbl-ucore中的fork版本都无法正常编译使用的是ucore_os_lab中的修改版本