M-Mode:u-boot-spl加载u-boot.itb文件,启动OpenSBI。 M-Mode->S-Mode:OpenSBI通过mret跳转到OPTEE执行,启动TOS。 S-Mode->M-Mode:OPTEE启动完后,通过ecall返回到执行OpenSBI。 M-Mode->S-Mode:OpenSBI通过mre启动u-boot。 S-Mode:u-boot加载Kernel镜像,跳转到Kernel执行。 S-Mode->U-Mode:Kernel加载root...
1 SPL到OpenSBI spl启动流程如下: 从外设加载镜像到DDR中。 解析镜像格式,比如FIT。 解析FIT中OpenSBI镜像地址和入口地址;uboot镜像地址,并附着到fdt中;解析获取fdt地址。 准备好HART ID、fdt地址、struct fw_dynamic_info结构体三个参数后,跳转到OpenSBI镜像开始执行。 _start wait_for_gd_init board_init_f spl...
而risc-v虽然目前芯片种类少,但是也需要制定一些启动规则,于是有了下面的规则: 当有了opensbi后,再回头看启动流程,与aarch64之间进行一个对比: aarch64借助atf框架,从EL3跳转到EL1,并启动u-boot。 对于riscv,上图是一个标准的加载启动流程,其中Opensbi提供了M模式的运行时库。 5.openSBI call接口的实现 opensbi...
作为bootloader的第一阶段FSBL(First Stage Boot Loader),BOOT0从启动日志上可以看出一些它的功能:打开倍频统一时钟,初始化串口,DRAM内存初始化测试,储存(闪存)初始化测试,标记三个程序(文件)入口:opensbi、DTB(设备树)、u-boot,将内存信息加载到设备树,跳转至bootloder下一阶段。在片外DRAM上加载OpenSBI与Uboot本体,...
VisionFive2 SDK包含u-boot、OpenSBI、linux 内核、设备树、ramdisk 映像和 rootfs 映像等相关源码,Linux内核版本为 5.15。 VisionFive2 SDK顶层目录可以看到,主要有如下目录: 其中非常重要的五个目录为: buildroot,根文件系统源码 linux,内核源码 opensbi,SBI(Supervisor Binary Interface)源码,RISC-V特有的 ...
简单的说,opensbi就是一个开源的RISC-V虚拟化二进制接口的通用的规范。 使用的是BSD-2的开源协议,也就是任何人都可以随意修改和使用,也提供了通用的规范化的接口实现。 这里就需要理解一下为什么需要规范化了。 以往芯片厂家都会按照自己的启动规则定义一些启动的流程,比如有些需要SPL+UBOOT,有些可以是直接从SPI或...
1. 制作opensbi+u-boot启动固件 1.1 下载和配置toolchain 到https://toolchains.bootlin.com/下载riscv64工具链,将bin目录添加到PATH $ wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2021.11-1.tar.bz2 ...
前者是uboot本体固件,后者是uboot spl固件。另外会在${uboot_wrkdir}/arch/riscv/dts下生成dtb文件,是uboot的设备树文件。 然后通过如下命令构建opensbi并和uboot本体固件打包 生成的文件在opensbi的编译输出目录platform/generic/firmware下,文件名为fw_payload.bin 然后将这个firmware使用mkimage文件打包,输出文件为$...
基于原生OpenWrt 23.05集成Spacemit Stone 系列芯片的 BSP,包含监管程序接口(OpenSBI)、引导加载程序(U-Boot/UEFI)、Linux 内核、根文件系统(包含各种中间件和库)以及示例等。其目标是为客户提供软路由和NAS方案支持,并且可以开发驱动或应用。Banana Pi BPI-F3 主要组件 以下是OpenWrt的组件:OpenSBIU-Boot...
本文使用qemu运行riscv64 linux旨在与真实硬件板保持一致,因此不使用qemu提供的任何直接加载elf文件的方式启动,而是从头到尾均加载原始的bin文件程序给qemu,使其完整的执行opensbi、u-boot、kernel。如读者想利用qemu加载elf文件直接启动内核,是更为容易的,也不必再阅读本文。