编译OpenSBI

OpenSBI全称为Open-source Supervisor Binary Interface,是开源Supervisor二进制接口,是一套RISC-V开源实现。它提供了RISC-V runtime服务,通常应用于ROM和LOADER后的启动阶段。典型的启动流程如下图所示:

1. 典型启动流程

请参考以下步骤,为昉·星光 2编译OpenSBI:

  1. 将OpenSBI文件保存到您的目标目录下,如主目录(home directory)下:
    cd ~ # home directory
  2. 下载源代码,以编译OpenSBI:
    git clone https://github.com/starfive-tech/opensbi.git
  3. opensbi目录下,执行以下命令编译OpenSBI:
    cd opensbi
    make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=generic FW_PAYLOAD_PATH={U-BOOT_PATH}/u-boot.bin FW_FDT_PATH={U-BOOT_PATH}/arch/riscv/dts/starfive_visionfive2.dtb FW_TEXT_START=0x40000000
    
    提示:

    {U-BOOT_PATH}修改为此前存放U-Boot文件的路径

    结果:

    编译完成后,在opensbi/build/platform/generic/firmware路径下,将生成大于2M的fw_payload.bin文件。

    2. 示例输出