0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一圖看懂RISC-V星光板的啟動流程

StarFive ? 2022-04-22 13:43 ? 次閱讀

繼《最全教程來啦!在RISC-V星光板上創(chuàng)建Debian系統(tǒng)鏡像》之后,這一期來聊聊RISC-V星光板的啟動流程。

如何更直觀理解VisionFive的啟動流程呢?小編用一張圖摹擬整個過程。

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

通電開機(jī)加載BootROM后,有兩種方法去啟動Bootloader(在嵌入式系統(tǒng)中,通常沒有像BIOS那樣的固件程序,因此整個系統(tǒng)的加載啟動任務(wù)完全由Bootloader來完成)。

第一種是通過UART,即通過簡單輸入一條命令,加載一個固定大小的二進(jìn)制文件到芯片的內(nèi)存中并執(zhí)行它,這種模式主要用于固件更新;

第二種是通過QSPI(Quad SPI),即BootROM將32k大小的Bootloader從QSPI讀取到SRAM區(qū)并開始執(zhí)行。不難看出,QSPI更為方便,官方也推薦這個方式。

通過QSPI模式,BootROM把32k的bootloader從QSPI讀取到主芯片內(nèi)部的SRAM區(qū)并啟動。大家可以看到上圖淺藍(lán)色區(qū)域,這個區(qū)域的文件都是在開發(fā)板出廠時,刷寫好到QSPI閃存芯片里的內(nèi)容,包括了secondboot,ddrinit,OpenSBI和U-Boot。

secondboot是一個只有9KB左右的bin文件,它去讀取閃存中ddrinit,跳轉(zhuǎn)過去后初始化內(nèi)存并引導(dǎo)閃存上的fw_payload.bin.out文件,而這個fw_payload.bin.out包含了 OpenSBI和Uboot的頭和文件信息,于是直接跳轉(zhuǎn)到OpenSBI了。

什么是OpenSBI呢?

OpenSBI的全稱是Open SupervisorBinary Interface ,即“開放的操作系統(tǒng)二進(jìn)制接口”,大家可以將OpenSBI 理解成固件。其特點(diǎn)有二,第一,以 M 模式和啟動器來定義的平臺固件,可以作為一個管理程序或者是通用操作系統(tǒng)執(zhí)行,并且進(jìn)入S或者HS模式;第二,以HS模式和啟動器的管理程序,或者一個通用的操作系統(tǒng),可以執(zhí)行并進(jìn)入VS模式。

M模式即Machine-Mode,可以理解為固件特權(quán)級;S模式即Supervisor-Mode,可以理解為操作系統(tǒng)內(nèi)核特權(quán)級。在啟動流程中,OpenSBI作用就是讓開發(fā)板從M運(yùn)行模式引導(dǎo)操作系統(tǒng)內(nèi)核,讓操作系統(tǒng)內(nèi)核運(yùn)行進(jìn)入 S 模式。

其他模式就不過多解釋啦,感興趣的朋友可自行搜索。


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

最后,從OpenSBI到U-Boot 的過程可以拆分來看,OpenSBI為Linux提供基本的系統(tǒng)響應(yīng),系統(tǒng)從M模式轉(zhuǎn)換為S模式,跳轉(zhuǎn)并啟動位于內(nèi)存對應(yīng)位置的U-Boot。而隨著U-Boot啟動,Linux系統(tǒng)也開始啟動了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    460

    瀏覽量

    83566
收藏 人收藏

    評論

    相關(guān)推薦

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

    加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進(jìn)步的關(guān)鍵參與者。作為
    的頭像 發(fā)表于 09-10 08:08 ?122次閱讀
    加入全球 <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領(lǐng)域的創(chuàng)新成果,和大家共同見證了本土RISC-V產(chǎn)業(yè)的成長。早在第RISC-V中國峰會上,沁恒就公開了青稞
    的頭像 發(fā)表于 08-30 18:18 ?1092次閱讀
    <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生態(tài)!

    第四屆RISC-V中國峰會(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召開,成為RISC-V領(lǐng)域的次重要盛會
    的頭像 發(fā)表于 08-26 18:33 ?613次閱讀
    2024 <b class='flag-5'>RISC-V</b> 中國峰會:華秋電子助力<b class='flag-5'>RISC-V</b>生態(tài)!

    risc-v的發(fā)展歷史

    RISC-V的發(fā)展歷史可以追溯到2006年左右,當(dāng)時David Patterson和其他研究者開始探索創(chuàng)建個開放和可擴(kuò)展的指令集架構(gòu)(ISA)。以下是RISC-V發(fā)展的主要里程碑:
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

    RISC-V作為種開源的指令集架構(gòu)(ISA),自其誕生以來就受到廣泛關(guān)注和應(yīng)用,但它也存在些不足之處。以下是RISC-V架構(gòu)目前存在的主要缺點(diǎn): 1. 性能問題 相對于專用ISA的
    發(fā)表于 07-29 17:18

    暢玩昉·星光 2|手把手教你搭建基于RISC-V的家用NAS

    方案。通過賽昉科技與開源社區(qū)的共同努力,昉·星光2(VisionFive2)RISC-V單板計(jì)算機(jī)已能夠滿足家庭用戶對NAS的多樣化需求,包括但不限于數(shù)據(jù)備份、媒
    的頭像 發(fā)表于 06-04 08:19 ?526次閱讀
    暢玩昉·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS

    解鎖RISC-V技術(shù)力量丨曹英杰:RISC-V與大模型探索

    4月12日,第二期“大家來談芯|解鎖RISC-V技術(shù)力量”在上海臨港新片區(qū)頂科永久會址舉辦,本期沙龍聚焦RISC-V技術(shù),圍繞AI時代的RISC-V市場機(jī)會、RISC-V在汽車領(lǐng)域的應(yīng)
    的頭像 發(fā)表于 04-16 08:16 ?472次閱讀
    解鎖<b class='flag-5'>RISC-V</b>技術(shù)力量丨曹英杰:<b class='flag-5'>RISC-V</b>與大模型探索

    【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】為 Ubuntu 安裝 Docker 及常用軟件

    【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】為 Ubuntu 安裝 Docker 及常用軟件 目的 為了更好的利用星光2,決定使用容器來管理。 換源 使訪問更快。 # 備份 cp /etc
    發(fā)表于 02-21 17:54

    【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】VisionFive2開箱+安裝Ubuntu

    【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)體驗(yàn)】VisionFive2開箱+安裝Ubuntu 前言 很感謝賽昉科技及iCeasy提供的樣片,讓我第次接觸高性能的RISC-V的開發(fā)板
    發(fā)表于 02-21 17:49

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)(三) - SSH連接

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)(三) - SSH連接 、官方資料 RISC-V官網(wǎng): [https://rvspace.org] RISC
    的頭像 發(fā)表于 02-21 10:21 ?372次閱讀
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>單板計(jì)算機(jī)體驗(yàn)(三) - SSH連接

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)(二) - 系統(tǒng)環(huán)境

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)(二) - 系統(tǒng)環(huán)境 、官方資料 RISC-V官網(wǎng): [https://rvspace.org] RISC-
    的頭像 發(fā)表于 02-21 10:15 ?508次閱讀
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>單板計(jì)算機(jī)體驗(yàn)(二) - 系統(tǒng)環(huán)境

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)() - 開箱

    昉·星光2 RISC-V單板計(jì)算機(jī)體驗(yàn)() - 開箱 、開箱 昉·星光2( VisionFive 2 )的包裝盒設(shè)計(jì)的很有科技感。“擁抱
    的頭像 發(fā)表于 02-21 10:10 ?531次閱讀
    昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>單板計(jì)算機(jī)體驗(yàn)(<b class='flag-5'>一</b>) - 開箱

    什么是RISC-V

    siFive搞RISC-V 賽昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不問有什么用,RISC-V目前的能力來說,工
    發(fā)表于 02-02 10:41

    RISC-V開放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】RISC-V基礎(chǔ)整數(shù)指令集

    分支的B型,用于長立即數(shù)的U型和用于無條件跳轉(zhuǎn)的J型。 下面是本章的思維導(dǎo): RV32I是RISC-V的基礎(chǔ)指令集,后續(xù)會繼續(xù)拓展RISC-V的其它指令集擴(kuò)展。
    發(fā)表于 01-31 21:10

    設(shè)計(jì)risc-v芯片流程是什么?

    我非常想了解如果想設(shè)計(jì)個類似risc-v的處理器,整個開發(fā)流程是怎樣的?
    發(fā)表于 12-09 18:39