RISC-V软件OpenSBI、riscv-isa-sim、riscv-binutils-gdb介绍

以下为你介绍的RISC-V软件都可用在Linux系统上:OpenSBI(RISC-V开源 Supervisor 二进制接口)、riscv-isa-sim(Spike RISC-V ISA模拟器)、riscv-binutils-gdb(RISC-V 版本的 gdb 调试工具)。

1、OpenSBI(RISC-V开源 Supervisor 二进制接口)

RISC-V Supervisor二进制接口(SBI)是以下之间的推荐接口:

1]、在M模式下运行的特定于平台的固件,以S模式或HS模式执行的引导加载程序,管理程序或通用OS。

2]、在HS模式下运行的管理程序,以及在VS模式下执行的引导加载程序或通用OS。

OpenSBI项目的目标是为在M模式下执行的平台特定固件(上面提到的情况1)提供RISC-V SBI规范的开源参考实现。RISC-V平台和片上系统供应商可以轻松扩展OpenSBI实现,以适应特定的硬件配置。

OpenSBI的主要组件以独立于平台的静态库libsbi.a的形式提供,实现了SBI接口。固件或引导加载程序实现可以链接到此库,以确保符合SBI接口规范。libsbi.a还定义了用于与平台固件实现提供的平台特定操作集成的接口(例如,控制台访问功能,处理器间中断控制等)。

为了说明libsbi.a库的使用,OpenSBI还提供了一组特定于平台的支持示例。对于每个示例,都可以编译特定于平台的静态库libplatsbi.a。该库通过将libsbi.a与必要的平台相关硬件操作函数集成来实现SBI调用处理。对于所有支持的平台,OpenSBI还提供了使用平台libplatsbi.a构建的多个运行时固件示例。这些示例固件可用于替换传统的riscv-pk引导加载程序(也称为BBL),并允许使用众所周知的引导加载程序,如U-Boot(https://git.denx.de/u-boot.git)。

所需工具链:

OpenSBI可以在x86主机上本地编译或交叉编译,对于交叉编译,您可以构建自己的工具链,也可以从[Bootlin工具链存储库](https://toolchains.bootlin.com/)下载预构建的工具链。

请注意,Bootlin工具链存储库中目前仅提供64位版本的工具链。

构建32位/64位OpenSBI映像:

默认情况下,构建OpenSBI基于提供的RISC-V交叉编译工具链生成32位或64位映像。例如,如果将CROSS_COMPILE设置为riscv64-unknown-elf-,则将生成64位OpenSBI映像。如果构建32位OpenSBI映像,则应将CROSS_COMPILE设置为预先配置为生成32位RISC-V代码的工具链,例如riscv32-unknown-elf-。

但是,可以使用给定的RISC-V工具链明确指定我们要构建的图像位,这可以通过将环境变量PLATFORM_RISCV_XLEN设置为所需的宽度来完成,例如:

export CROSS_COMPILE=riscv64-unknown-elf-

export PLATFORM_RISCV_XLEN=32

将生成32位OpenSBI映像。

下载地址:https://github.com/riscv/opensbi

2、riscv-isa-sim(Spike RISC-V ISA模拟器)

RISC-V软件OpenSBI、riscv-isa-sim、riscv-binutils-gdb介绍

Spike RISC-V ISA模拟器,它实现了一个或多个RISC-V harts的功能模型。 它以用于庆祝美国横贯大陆铁路完工的金色尖峰命名。

支持如下 RISC-V 特性:

RV32I and RV64I base ISAs, v2.1

Zifencei extension, v2.0

Zicsr extension, v2.0

M extension, v2.0

A extension, v2.0

F extension, v2.2

D extension, v2.2

Q extension, v2.2

C extension, v2.0

V extension, v0.7.1 (requires a 64-bit host)

Conformance to both RVWMO and RVTSO (Spike is sequentially consistent)

Machine, Supervisor, and User modes, v1.11

Debug v0.14

建立步骤:

我们假定RISCV环境变量设置为RISC-V工具的安装路径:

$ apt-get install device-tree-compiler

$ mkdir build

$ cd build

$ ../configure --prefix=$RISCV

$ make

$ [sudo] make install

下载地址:https://github.com/riscv/riscv-isa-sim

3、riscv-binutils-gdb(RISC-V 版本的 gdb 调试工具)

riscv-binutils-gdb 是 RISC-V 版本的binutils工具集合和GDB。

下载地址:https://github.com/riscv/riscv-binutils-gdb

注明

以上就是RISC-V软件OpenSBI、riscv-isa-sim、riscv-binutils-gdb的介绍内容,这些RISC-V软件都能使用在Linux操作系统中。

栏目相关文章