0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一图看懂RISC-V星光板的启动流程

StarFive 2022-04-22 13:43 次阅读

继《最全教程来啦!在RISC-V星光板上创建Debian系统镜像》之后,这一期来聊聊RISC-V星光板的启动流程。

如何更直观理解VisionFive的启动流程呢?小编用一张图摹拟整个过程。

0013f5fa-bce7-11ec-82f6-dac502259ad0.png

通电开机加载BootROM后,有两种方法去启动Bootloader(在嵌入式系统中,通常没有像BIOS那样的固件程序,因此整个系统的加载启动任务完全由Bootloader来完成)。

第一种是通过UART,即通过简单输入一条命令,加载一个固定大小的二进制文件到芯片的内存中并执行它,这种模式主要用于固件更新;

第二种是通过QSPI(Quad SPI),即BootROM将32k大小的Bootloader从QSPI读取到SRAM区并开始执行。不难看出,QSPI更为方便,官方也推荐这个方式。

通过QSPI模式,BootROM把32k的bootloader从QSPI读取到主芯片内部的SRAM区并启动。大家可以看到上图浅蓝色区域,这个区域的文件都是在开发板出厂时,刷写好到QSPI闪存芯片里的内容,包括了secondboot,ddrinit,OpenSBI和U-Boot。

secondboot是一个只有9KB左右的bin文件,它去读取闪存中ddrinit,跳转过去后初始化内存并引导闪存上的fw_payload.bin.out文件,而这个fw_payload.bin.out包含了 OpenSBI和Uboot的头和文件信息,于是直接跳转到OpenSBI了。

什么是OpenSBI呢?

OpenSBI的全称是Open SupervisorBinary Interface ,即“开放的操作系统二进制接口”,大家可以将OpenSBI 理解成固件。其特点有二,第一,以 M 模式和启动器来定义的平台固件,可以作为一个管理程序或者是通用操作系统执行,并且进入S或者HS模式;第二,以HS模式和启动器的管理程序,或者一个通用的操作系统,可以执行并进入VS模式。

M模式即Machine-Mode,可以理解为固件特权级;S模式即Supervisor-Mode,可以理解为操作系统内核特权级。在启动流程中,OpenSBI作用就是让开发板从M运行模式引导操作系统内核,让操作系统内核运行进入 S 模式。

其他模式就不过多解释啦,感兴趣的朋友可自行搜索。


0031576c-bce7-11ec-82f6-dac502259ad0.png

最后,从OpenSBI到U-Boot 的过程可以拆分来看,OpenSBI为Linux提供基本的系统响应,系统从M模式转换为S模式,跳转并启动位于内存对应位置的U-Boot。而随着U-Boot启动,Linux系统也开始启动了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC
    +关注

    关注

    6

    文章

    431

    浏览量

    83239
收藏 人收藏

    评论

    相关推荐

    RISC-V 基础学习:RISC-V 基础介绍

    。 具体分级如下: 机器特权级(M):RISC-V 中 hart 可以执行的最高权限模式。在M 模式下运行的 hart,对内存、I/O 和些必要的底层功能(启动和系统配置)有着完全的控制权。它是唯一一个
    发表于 03-12 10:25

    【昉·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件

    【昉·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件 目的 为了更好的利用星光2,决定使用容器来管理。 换源 使访问更快。 # 备份 cp /etc
    发表于 02-21 17:54

    【昉·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu

    【昉·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu 前言 很感谢赛昉科技及iCeasy提供的样片,让我第次接触高性能的RISC-V的开发板
    发表于 02-21 17:49

    昉·星光2 RISC-V单板计算机体验(一) - 开箱

    昉·星光2 RISC-V单板计算机体验(一) - 开箱 一、开箱 昉·星光2( VisionFive 2 )的包装盒设计的很有科技感。“拥抱变革, 拥有未来”这句话太适合当下环境了。 正面: 反面
    的头像 发表于 02-21 10:10 179次阅读
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>单板计算机体验(一) - 开箱

    什么是RISC-V

    siFive搞RISC-V 赛昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
    发表于 02-02 10:41

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    分支的B型,用于长立即数的U型和用于无条件跳转的J型。 下面是本章的思维导: RV32I是RISC-V的基础指令集,后续会继续拓展RISC-V的其它指令集扩展。
    发表于 01-31 21:10

    设计risc-v芯片流程是什么?

    我非常想了解如果想设计个类似risc-v的处理器,整个开发流程是怎样的?
    发表于 12-09 18:39

    谈ARM上市与RISC-V

    ,中国还逐渐拥有了大批从设计到系统,从工具到测试,最终到人才培养的全流程自主研发与发展能力。 今天Arm的对手是RISC-V,未来Arm面对的将是以庞大市场做背景,拥有全产业链的
    发表于 09-30 12:22

    RISC-V + OpenCV 计算机视觉】用 VisionFive 2 昉·星光 2 进行物体识别

    广泛应用于视频监控、自动驾驶等领域。 基于Debain操作系统和OpenCV框架,赛昉科技在VisionFive 2(昉·星光 2)RISC-V单板计算机上实现了采用GPU加速的目标检测应用程序。作为
    发表于 09-08 11:42

    【昉·星光 2 高性能RISC-V单板计算机体验】2更换Debian操作系统

    接上两篇:【昉·星光 2 高性能RISC-V单板计算机体验】1初识赛昉科技StarFive - RISC-V技术论坛 - 电子技术论坛- 广受欢迎的专业电子论坛! https
    发表于 08-31 00:03

    【昉·星光 2 高性能RISC-V单板计算机体验】:VisionFive2板子调试环境搭建

    的正面布局 2 VisionFive2星光板的背面布局 VisionFive2星光板共有4个USB口、2个网口、40Pin的GPIO引脚、1个CSI摄像头接口、1个HDMI 2.0
    发表于 08-30 22:10

    2023 RISC-V中国峰会:RISC-V深圳技术分享会(同期会议)

    。本届分享会将邀请生态厂商、研究机构、业界专家、社区伙伴和开源开发者齐聚堂,共同讨论 RISC-V 相关的技术和研究、RISC-V发展趋势与机遇。
    发表于 08-15 17:27

    【昉·星光 2 高性能RISC-V单板计算机体验】使用之星光 2开箱之硬件分析

    昉·星光 2 是全球首款集成了GPU的高性能RISC-V单板计算机。与昉·星光1 相比( JH7100 SoC 芯片采用双核64位高性能RISC-V CPU,自带2MB的二级缓存,
    发表于 07-28 15:02

    RISC-V,正在摆脱低端

    比ARM的崛起更快些。 2010年至今基于RISC-V的行业创新 (源:RISC-V) 除了上述国内厂商在向高性能RISC-V应用探索
    发表于 05-30 14:11

    RISC-V专题】昉·星光 2(VisionFive 2)RISC-V单板计算机免费试用

    VisionFive 2是全球首款集成3D GPU的高性能量产RISC-V 单板计算机 。与上代相比,VisionFive 2全面升级,在处理器工作频率、多媒体处理能力、可扩展性等方面都有显着提升
    发表于 05-16 11:26