繼《最全教程來啦!在RISC-V星光板上創建Debian系統鏡像》之后,這一期來聊聊RISC-V星光板的啟動流程。
如何更直觀理解VisionFive的啟動流程呢?小編用一張圖摹擬整個過程。
通電開機加載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 模式。
其他模式就不過多解釋啦,感興趣的朋友可自行搜索。
最后,從OpenSBI到U-Boot 的過程可以拆分來看,OpenSBI為Linux提供基本的系統響應,系統從M模式轉換為S模式,跳轉并啟動位于內存對應位置的U-Boot。而隨著U-Boot啟動,Linux系統也開始啟動了。
-
RISC
+關注
關注
6文章
463瀏覽量
83773
發布評論請先 登錄
相關推薦
國產RISC-V案例分享,基于全志T113-i異構多核平臺!
預售啟動!昉·星光 2 AI套件正式發布,基于RISC-V構建AI算力
![預售<b class='flag-5'>啟動</b>!昉·<b class='flag-5'>星光</b> 2 AI套件正式發布,基于<b class='flag-5'>RISC-V</b>構建AI算力](https://file.elecfans.com/web2/M00/1A/02/poYBAGF47iiANcvqAABSphpOXQU436.jpg)
加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !
![加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來 !](https://file1.elecfans.com/web2/M00/E5/D3/wKgaomZBeIyADEqiAACsZ19UYWk044.png)
RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地
![<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>高效落地](https://file1.elecfans.com/web2/M00/04/BB/wKgZombRkPCAbb8HAAecyiE4_tA967.png)
2024 RISC-V 中國峰會:華秋電子助力RISC-V生態!
![2024 <b class='flag-5'>RISC-V</b> 中國峰會:華秋電子助力<b class='flag-5'>RISC-V</b>生態!](https://file1.elecfans.com//web2/M00/04/3C/wKgZombMUcCAV3jRAADDtfSZFsc230.png)
risc-v的發展歷史
rIsc-v的缺的是什么?
暢玩昉·星光 2|手把手教你搭建基于RISC-V的家用NAS
![暢玩昉·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS](https://file.elecfans.com/web2/M00/1A/02/poYBAGF47iiANcvqAABSphpOXQU436.jpg)
【昉·星光 2 高性能RISC-V單板計算機體驗】為 Ubuntu 安裝 Docker 及常用軟件
【昉·星光 2 高性能RISC-V單板計算機體驗】VisionFive2開箱+安裝Ubuntu
昉·星光2 RISC-V單板計算機體驗(三) - SSH連接
![昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>單板計算機體驗(三) - SSH連接](https://file1.elecfans.com/web2/M00/C0/5A/wKgZomXUlLWARn5MAACgtYieB3U048.png)
昉·星光2 RISC-V單板計算機體驗(二) - 系統環境
![昉·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b>單板計算機體驗(二) - 系統環境](https://file1.elecfans.com/web2/M00/C0/5A/wKgZomXUkzSAIb2pAAdUaTgObAM991.png)
評論