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

    文章

    461

    浏览量

    83651
收藏 人收藏

    评论

    相关推荐

    国产RISC-V案例分享,基于全志T113-i异构多核平台!

    核心可用于“系统快速启动”、“视频实时采集”、“界面实时显示”、“数据实时处理”、“IO实时控制”等应用。 2 RISC-V核心支持外设全志T113-i中的RISC-V核心支持多种
    发表于 10-29 09:47

    预售启动!昉·星光 2 AI套件正式发布,基于RISC-V构建AI算力

    10月24日,昉·星光2(VisionFive2)AI套件正式开启预售。该套件由中国RISC-V软硬件生态领导者赛昉科技携手边缘人工智能(AI)处理器的领先芯片制造商Hailo共同推出,旨在为边缘
    的头像 发表于 10-25 08:05 165次阅读
    预售<b class='flag-5'>启动</b>!昉·<b class='flag-5'>星光</b> 2 AI套件正式发布,基于<b class='flag-5'>RISC-V</b>构建AI算力

    国产RISC-V基于全志T113-i异构多核平台

    次。 程序流程如下图所示。 5 (2)案例测试 参考产品资料,启动RISC-V核心并加载工程镜像。
    发表于 10-10 22:08

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未来 !

    加入RISC-VAdvocate行列!我们正在寻找来自世界各地的RISC-V爱好者,通过全球推广和参与,成为支持RISC-V进步的关键参与者。作为
    的头像 发表于 09-10 08:08 306次阅读
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未来 !

    RISC-V Summit China 2024 青稞RISC-V+接口PHY,赋能RISC-V高效落地

    沁恒在历届峰会上分享RISC-V在MCU领域的创新成果,和大家共同见证了本土RISC-V产业的成长。早在第RISC-V中国峰会上,沁恒就公开了青稞
    的头像 发表于 08-30 18:18 1363次阅读
    <b class='flag-5'>RISC-V</b> Summit China 2024  青稞<b class='flag-5'>RISC-V</b>+接口PHY,赋能<b class='flag-5'>RISC-V</b>高效落地

    2024 RISC-V 中国峰会:华秋电子助力RISC-V生态!

    第四届RISC-V中国峰会(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召开,成为RISC-V领域的次重要盛会
    的头像 发表于 08-26 18:33 809次阅读
    2024 <b class='flag-5'>RISC-V</b> 中国峰会:华秋电子助力<b class='flag-5'>RISC-V</b>生态!

    risc-v的发展历史

    RISC-V的发展历史可以追溯到2006年左右,当时David Patterson和其他研究者开始探索创建个开放和可扩展的指令集架构(ISA)。以下是RISC-V发展的主要里程碑:
    发表于 07-29 17:20

    rIsc-v的缺的是什么?

    RISC-V作为种开源的指令集架构(ISA),自其诞生以来就受到广泛关注和应用,但它也存在些不足之处。以下是RISC-V架构目前存在的主要缺点: 1. 性能问题 相对于专用ISA的
    发表于 07-29 17:18

    【昉·星光 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单板计算机体验(三) - SSH连接

    昉·星光2 RISC-V单板计算机体验(三) - SSH连接 、官方资料 RISC-V官网: [https://rvspace.org] RISC
    的头像 发表于 02-21 10:21 465次阅读
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>单板计算机体验(三) - SSH连接

    昉·星光2 RISC-V单板计算机体验(二) - 系统环境

    昉·星光2 RISC-V单板计算机体验(二) - 系统环境 、官方资料 RISC-V官网: [https://rvspace.org] RISC-
    的头像 发表于 02-21 10:15 608次阅读
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>单板计算机体验(二) - 系统环境

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

    昉·星光2 RISC-V单板计算机体验() - 开箱 、开箱 昉·星光2( VisionFive 2 )的包装盒设计的很有科技感。“拥抱
    的头像 发表于 02-21 10:10 634次阅读
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>单板计算机体验(<b class='flag-5'>一</b>) - 开箱

    什么是RISC-V

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

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

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