資料介紹
在M模式下運行的特定于平臺的固件和在 S 模式或 HS 模式下運行的引導加載程序、管理程序或通用操作系統。
在HS模式下運行的管理程序和在 VS 模式下運行的引導加載程序或通用操作系統。
RISC-V SBI 規范作為一個獨立項目由 RISC-V 基金會在Github上維護。
OpenSBI 項目的目標是為在 M 模式下執行的特定于平臺的固件(上述案例 1)提供 RISC-V SBI 規范的開源參考實現。RISC-V 平臺和片上系統供應商可以輕松擴展 OpenSBI 實現,以適應特定的硬件配置。
OpenSBI的主要組件以實現 SBI 接口的獨立于平臺的靜態庫libsbi.a的形式提供。固件或引導加載程序實現可以鏈接到該庫,以確保符合 SBI 接口規范。libsbi.a還定義了一個接口,用于與平臺固件實現提供的平臺特定操作集成(例如控制臺訪問功能、處理器間中斷控制等)。
為了說明libsbi.a庫的使用,OpenSBI 還提供了一組特定于平臺的支持示例。對于每個示例,可以編譯特定于平臺的靜態庫libplatsbi.a 。該庫通過將libsbi.a與必要的平臺相關硬件操作函數集成來實現 SBI 調用處理。對于所有支持的平臺,OpenSBI 還提供了幾個使用平臺 libplatsbi.a構建的運行時固件示例。這些示例固件可用于替換傳統的 riscv-pk引導加載程序(又名 BBL),并支持使用眾所周知的引導加載程序,例如U-Boot。
支持的SBI版本
目前,OpenSBI 完全支持 SBI 規范v0.2。OpenSBI 還支持從 OpenSBI v0.7 開始的 Hart 狀態管理 (HSM) SBI 擴展。HSM 擴展允許 S 模式軟件以定義的順序引導所有 harts,而不是傳統的隨機引導 harts 方法。因此,在 S 模式下也可以輕松支持許多必需的功能,例如 CPU 熱插拔、kexec/kdump。OpenSBI 中的 HSM 擴展以非向后兼容的方式實現,以減少維護負擔并避免混淆。這就是為什么如果 S-mode 不支持 HSM 擴展,任何使用 OpenSBI 的 S-mode 軟件都無法啟動超過 1 個 hart。
Linux 內核從 v5.7-rc1開始已經支持 SBI v0.2 和 HSM SBI 擴展。如果您使用的是早于5.7-rc1的 Linux 內核或任何其他沒有 HSM SBI 擴展的 S-mode 軟件,您應該堅持使用 OpenSBI v0.6 來引導所有 harts。對于 UMP 系統,這無關緊要。
注意 任何 S-mode 引導加載程序(即 U-Boot)都不需要支持 HSM 擴展,因為它不需要引導所有的 harts。操作系統應該有足夠的能力使用 HSM 擴展啟動所有其他非啟動 hart。
所需工具鏈
OpenSBI 可以本地編譯或在 x86 主機上交叉編譯。對于交叉編譯,您可以構建自己的工具鏈,從Bootlin 工具鏈存儲庫下載預構建的工具鏈或安裝發行版提供的工具鏈;如果您選擇使用 LLVM/Clang,由于 LLVM 能夠在同一二進制文件中支持多個后端,因此大多數分發工具鏈將支持使用與本地 LLVM/Clang 工具鏈相同的工具鏈對 RISC-V 進行交叉編譯,因此通常很容易獲得有效的交叉編譯工具鏈的方法。
基本上,我們更喜歡具有位置無關可執行文件 (PIE) 支持的工具鏈,例如riscv64-linux-gnu-gcc、riscv64-unknown-freebsd-gcc或 Clang/LLVM,因為它們生成的 PIE 固件映像可以在任意地址運行并進行適當對齊。如果使用裸機 GNU 工具鏈(例如 riscv64-unknown-elf-gcc),則會生成靜態鏈接固件映像。如果使用裸機三元組(例如-target riscv64-unknown-elf),Clang/LLVM仍然可以生成 PIE 圖像。
請注意,目前 Bootlin 工具鏈存儲庫中僅提供 64 位版本的工具鏈。
- Arduino二進制骰子
- 二進制數開源分享
- 二進制解碼器開源設計
- 微型二進制時鐘開源分享
- OpenSBI RISC-V開源Supervisor二進制接口
- 【2021-04-05】二進制中的原碼反碼補碼與二進制數的左移右移
- C-SKY V2 CPU應用程序二進制接口標準手冊 11次下載
- 基于FPGA的二進制相移鍵控設計方案 12次下載
- KEIL C51二進制數輸入宏的詳細方法程序說明 17次下載
- LabVIEW二進制數組轉換二進制字符串的詳細資料免費下載 16次下載
- C6000系列嵌入式應用二進制接口 3次下載
- “非二進制”中的新結構 5次下載
- 二進制邏輯運算詳解 13次下載
- 二進制加法程序【C語言版】 0次下載
- 二進制加法程序【匯編版】 0次下載
- base64字符串轉換為二進制文件 1516次閱讀
- 二進制處理中的一些技巧 608次閱讀
- 十進制、十六進制和二進制數制的區別 2075次閱讀
- 二進制加法的實現細節 2855次閱讀
- 二進制編碼器和二-十進制編碼器講解 1.3w次閱讀
- 格雷碼與二進制轉換 5355次閱讀
- 數字二進制計數器的設計和實現 1868次閱讀
- 基于FPGA的二進制時鐘設計方案 2268次閱讀
- 二進制解碼器到底是什么 6270次閱讀
- 如何利用二進制數實現BCD碼的轉換 2.8w次閱讀
- 函數轉換BCD編碼二進制數為整型數 6586次閱讀
- 格雷碼與二進制的轉換 1.8w次閱讀
- 8421bcd碼轉換二進制 7.2w次閱讀
- 二進制數據壓縮算法 2w次閱讀
- 解析二進制指數退避算法的過程 1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多