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文章
5401瀏覽量
122815 -
內核
+關注
關注
3文章
1403瀏覽量
40967 -
Linux
+關注
關注
87文章
11420瀏覽量
212373 -
固件
+關注
關注
10文章
561瀏覽量
23586 -
RISC
+關注
關注
6文章
477瀏覽量
84544
發布評論請先 登錄
相關推薦
Firefly-RK3288Android 升級固件介紹

fireflyFace-RK3399主板升級固件介紹
fireflyAIO-3399C主板升級固件介紹
fireflyAIO-3288J-Android 升級固件介紹

opensbi下的riscv64裸機系列編程1(串口輸出)
NodeMCU學習筆記(1)--- 硬件介紹、固件制作、燒錄

螺紋緊固件中螺絲和螺栓的類型
OpenSBI支持哪些固件
基于OpenSBI的linux nommu實現

評論