OpenSBI固件类型
在介绍OpenSBI固件类型前,我们需要知道一点RISC-V Linux的启动过程:
启动流程:ZSBL-->FSBL-->OpenSBI-->u-boot-->Linux
ZSBL和FSBL通常固化在芯片内部,不在本文讨论范围,本文关注OpenSBI。
可以看到,在启动uboot之前,需要先启动OpenSBI,然后再执行uboot/linux。而OpenSBI提供了不同的固件类型来处理不同平台早期启动阶段的差异。
OpenSBI简介
OpenSBI为特定平台提供固件构建,支持不同类型的固件来处理不同平台早期启动阶段之间的差异。所有固件将根据平台特定代码以及OpenSBI通用库代码执行平台硬件的相同初始化过程。支持的固件类型在如何处理平台早期启动阶段传递的参数以及如何处理和执行固件之后的启动阶段方面会有所不同。
上一个引导阶段将通过RISC-V CPU的以下寄存器传递信息:
hart id
通过a0
寄存器传递- 通过
a1
寄存器在内存中存储设备树 blob 地址。地址必须与 8 个字节对齐。
OpenSBI 目前支持三种不同类型的固件 :
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
寄存器
+关注
关注
31文章
5328浏览量
120116 -
内核
+关注
关注
3文章
1367浏览量
40252 -
Linux
+关注
关注
87文章
11236浏览量
209024 -
固件
+关注
关注
10文章
551浏览量
22988 -
RISC
+关注
关注
6文章
461浏览量
83665
发布评论请先 登录
相关推荐
Firefly-RK3288Android 升级固件介绍
本文介绍了如何将主机上的固件文件,通过 Micro USB OTG 线,烧录到开发板的闪存中。升级时,需要根据主机操作系统和固件类型来选择合适的升级方式。
fireflyFace-RK3399主板升级固件介绍
本文介绍了如何将主机上的固件文件
1.通过USB数据线,烧录到开发板的闪存中。升级时,需要根据主机操作系统和固件类型来选择合适的升级方式。
2.生成U盘升级的
fireflyAIO-3399C主板升级固件介绍
本文介绍了如何将主机上的固件文件,通过Type-C数据线,烧录到开发板的闪存中。升级时,需要根据主机操作系统和固件类型来选择合适的升级方式。
fireflyAIO-3288J-Android 升级固件介绍
本文以下内容仅适用于android系统,若需要升级Linux系统,参考Linux 升级固件
本文介绍了如何将主机上的固件文件,通过 USB 双公头数据线,烧录到开发板的闪存中。升级时,需要根据主机操作系统和
opensbi下的riscv64裸机系列编程1(串口输出)
opensbi下的riscv64裸机系列编程1(串口输出) 1.说明 2.opensbi的编译 3.基本环境的准备 3.1 准备qemu 3.2 准备交叉编译工具链 4.工程完善 5.封装的sbi
NodeMCU学习笔记(1)--- 硬件介绍、固件制作、烧录
NodeMCU学习笔记(1)— 硬件介绍、固件制作、烧录提示:作者使用 ESP8266 进行开发学习。文章目录NodeMCU学习笔记(1)--- 硬件介绍、固件制作、烧录前言一、硬件
发表于 11-01 16:25
•18次下载
螺纹紧固件中螺丝和螺栓的类型
本文将直观地介绍一些不同类型的螺丝和螺栓,重点关注不同的螺丝头、起子类型和轴承面。“轴承面”,也称螺丝头下侧,是紧固件头与器件接触的地方。为提高抗张强度;有些螺栓、螺丝在头部下方设置了
OpenSBI支持哪些固件
FW_DYNAMIC固件 FW_DYNAMIC固件在运行时从上一个启动阶段获取有关下一个启动阶段的信息,例如引导加载程序或操作系统内核。 上一个启动阶段(即LOADER)通过 a2 寄存器将
评论