Skip to content

rustsbi/rustsbi-hifive-unmatched

Repository files navigation

RustSBI 在 HiFive Unmatched 主板的支持软件

这个项目的目的是在SiFive HiFive Unmatched主板上支持RustSBI。 RustSBI是一个引导程序环境;主板上电时,RustSBI将会先行启动,而后,它将会找到一个可引导的操作系统,引导启动这个操作系统。 在启动后,RustSBI仍然常驻后台,提供操作系统需要的功能。 RustSBI的设计完全符合RISC-V SBI规范标准,只要支持此标准的操作系统,都可以使用RustSBI引导启动。

编译和运行

这个项目使用xtask框架,可以使用以下指令来编译:

cargo image

(如果增加--release参数,说明编译的是不带调试符号的release版本)

这时候编译产生一个elf文件和一个img镜像。注意,产生的中间数据bin文件不可以直接用于烧录。

使用以下操作来烧录img格式的镜像到sd卡分区。(危险!必须先备份数据)

sudo dd if=target/sd-card-partition-2.img of=\\?\Device\Harddisk????\Partition2 --progress

烧录完成后,就可以使用RustSBI引导启动了。

Rust版本

编译这个项目至少需要rustc 1.59.0-nightly (c5ecc1570 2021-12-15)的Rust版本。

文档

请参考项目Wiki来获取完整的文档。

项目中仍然需要完善的部分也被记录在文档中,详见这里

对大小核设计的支持方案

HiFive Unmatched主板板载SiFive Freedom U740处理器。FU740是异构的多核处理器,它总共有五个核。 它的五个核分别为四个U74应用处理器内核,以及一个S7嵌入式处理器内核。

作为RustSBI的软件实现开发者,我们注意到S7管理小核将有广泛的用途。 因此,RustSBI在HiFive Unmatched上不屏蔽任何的核,以供操作系统选择和使用。

有用的链接

  • HiFive Unmatched 入门指南(中文)1.4版 PDF
  • SiFive FU740-000 Manual v1p3 PDF

命令行

查看汇编代码

cargo asm

About

RustSBI support on SiFive FU740 board; FU740 is a five-core heterogeneous processor with four SiFive U74 cores, and one SiFive S7 core

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages