資料介紹
RISC-V主管二進(jìn)制接口(SBI)是以下之間的推薦接口:
在M模式下運(yùn)行的特定于平臺(tái)的固件和在 S 模式或 HS 模式下運(yùn)行的引導(dǎo)加載程序、管理程序或通用操作系統(tǒng)。
在HS模式下運(yùn)行的管理程序和在 VS 模式下運(yùn)行的引導(dǎo)加載程序或通用操作系統(tǒng)。
RISC-V SBI 規(guī)范作為一個(gè)獨(dú)立項(xiàng)目由 RISC-V 基金會(huì)在Github上維護(hù)。
OpenSBI 項(xiàng)目的目標(biāo)是為在 M 模式下執(zhí)行的特定于平臺(tái)的固件(上述案例 1)提供 RISC-V SBI 規(guī)范的開(kāi)源參考實(shí)現(xiàn)。RISC-V 平臺(tái)和片上系統(tǒng)供應(yīng)商可以輕松擴(kuò)展 OpenSBI 實(shí)現(xiàn),以適應(yīng)特定的硬件配置。
OpenSBI的主要組件以實(shí)現(xiàn) SBI 接口的獨(dú)立于平臺(tái)的靜態(tài)庫(kù)libsbi.a的形式提供。固件或引導(dǎo)加載程序?qū)崿F(xiàn)可以鏈接到該庫(kù),以確保符合 SBI 接口規(guī)范。libsbi.a還定義了一個(gè)接口,用于與平臺(tái)固件實(shí)現(xiàn)提供的平臺(tái)特定操作集成(例如控制臺(tái)訪(fǎng)問(wèn)功能、處理器間中斷控制等)。
為了說(shuō)明libsbi.a庫(kù)的使用,OpenSBI 還提供了一組特定于平臺(tái)的支持示例。對(duì)于每個(gè)示例,可以編譯特定于平臺(tái)的靜態(tài)庫(kù)libplatsbi.a 。該庫(kù)通過(guò)將libsbi.a與必要的平臺(tái)相關(guān)硬件操作函數(shù)集成來(lái)實(shí)現(xiàn) SBI 調(diào)用處理。對(duì)于所有支持的平臺(tái),OpenSBI 還提供了幾個(gè)使用平臺(tái) libplatsbi.a構(gòu)建的運(yùn)行時(shí)固件示例。這些示例固件可用于替換傳統(tǒng)的 riscv-pk引導(dǎo)加載程序(又名 BBL),并支持使用眾所周知的引導(dǎo)加載程序,例如U-Boot。
支持的SBI版本
目前,OpenSBI 完全支持 SBI 規(guī)范v0.2。OpenSBI 還支持從 OpenSBI v0.7 開(kāi)始的 Hart 狀態(tài)管理 (HSM) SBI 擴(kuò)展。HSM 擴(kuò)展允許 S 模式軟件以定義的順序引導(dǎo)所有 harts,而不是傳統(tǒng)的隨機(jī)引導(dǎo) harts 方法。因此,在 S 模式下也可以輕松支持許多必需的功能,例如 CPU 熱插拔、kexec/kdump。OpenSBI 中的 HSM 擴(kuò)展以非向后兼容的方式實(shí)現(xiàn),以減少維護(hù)負(fù)擔(dān)并避免混淆。這就是為什么如果 S-mode 不支持 HSM 擴(kuò)展,任何使用 OpenSBI 的 S-mode 軟件都無(wú)法啟動(dòng)超過(guò) 1 個(gè) hart。
Linux 內(nèi)核從 v5.7-rc1開(kāi)始已經(jīng)支持 SBI v0.2 和 HSM SBI 擴(kuò)展。如果您使用的是早于5.7-rc1的 Linux 內(nèi)核或任何其他沒(méi)有 HSM SBI 擴(kuò)展的 S-mode 軟件,您應(yīng)該堅(jiān)持使用 OpenSBI v0.6 來(lái)引導(dǎo)所有 harts。對(duì)于 UMP 系統(tǒng),這無(wú)關(guān)緊要。
注意 任何 S-mode 引導(dǎo)加載程序(即 U-Boot)都不需要支持 HSM 擴(kuò)展,因?yàn)樗恍枰龑?dǎo)所有的 harts。操作系統(tǒng)應(yīng)該有足夠的能力使用 HSM 擴(kuò)展啟動(dòng)所有其他非啟動(dòng) hart。
所需工具鏈
OpenSBI 可以本地編譯或在 x86 主機(jī)上交叉編譯。對(duì)于交叉編譯,您可以構(gòu)建自己的工具鏈,從Bootlin 工具鏈存儲(chǔ)庫(kù)下載預(yù)構(gòu)建的工具鏈或安裝發(fā)行版提供的工具鏈;如果您選擇使用 LLVM/Clang,由于 LLVM 能夠在同一二進(jìn)制文件中支持多個(gè)后端,因此大多數(shù)分發(fā)工具鏈將支持使用與本地 LLVM/Clang 工具鏈相同的工具鏈對(duì) RISC-V 進(jìn)行交叉編譯,因此通常很容易獲得有效的交叉編譯工具鏈的方法。
基本上,我們更喜歡具有位置無(wú)關(guān)可執(zhí)行文件 (PIE) 支持的工具鏈,例如riscv64-linux-gnu-gcc、riscv64-unknown-freebsd-gcc或 Clang/LLVM,因?yàn)樗鼈兩傻?PIE 固件映像可以在任意地址運(yùn)行并進(jìn)行適當(dāng)對(duì)齊。如果使用裸機(jī) GNU 工具鏈(例如 riscv64-unknown-elf-gcc),則會(huì)生成靜態(tài)鏈接固件映像。如果使用裸機(jī)三元組(例如-target riscv64-unknown-elf),Clang/LLVM仍然可以生成 PIE 圖像。
請(qǐng)注意,目前 Bootlin 工具鏈存儲(chǔ)庫(kù)中僅提供 64 位版本的工具鏈。
- Arduino二進(jìn)制骰子
- 二進(jìn)制數(shù)開(kāi)源分享
- 二進(jìn)制解碼器開(kāi)源設(shè)計(jì)
- 微型二進(jìn)制時(shí)鐘開(kāi)源分享
- OpenSBI RISC-V開(kāi)源Supervisor二進(jìn)制接口
- 【2021-04-05】二進(jìn)制中的原碼反碼補(bǔ)碼與二進(jìn)制數(shù)的左移右移
- C-SKY V2 CPU應(yīng)用程序二進(jìn)制接口標(biāo)準(zhǔn)手冊(cè) 11次下載
- 基于FPGA的二進(jìn)制相移鍵控設(shè)計(jì)方案 11次下載
- KEIL C51二進(jìn)制數(shù)輸入宏的詳細(xì)方法程序說(shuō)明 17次下載
- LabVIEW二進(jìn)制數(shù)組轉(zhuǎn)換二進(jìn)制字符串的詳細(xì)資料免費(fèi)下載 16次下載
- C6000系列嵌入式應(yīng)用二進(jìn)制接口 3次下載
- “非二進(jìn)制”中的新結(jié)構(gòu) 5次下載
- 二進(jìn)制邏輯運(yùn)算詳解 13次下載
- 二進(jìn)制加法程序【C語(yǔ)言版】 0次下載
- 二進(jìn)制加法程序【匯編版】 0次下載
- 二進(jìn)制處理中的一些技巧 337次閱讀
- 十進(jìn)制、十六進(jìn)制和二進(jìn)制數(shù)制的區(qū)別 1236次閱讀
- 二進(jìn)制加法的實(shí)現(xiàn)細(xì)節(jié) 2207次閱讀
- 二進(jìn)制編碼器和二-十進(jìn)制編碼器講解 1.1w次閱讀
- 格雷碼與二進(jìn)制轉(zhuǎn)換 4547次閱讀
- RISC-V SIG成功將Chromium等桌面軟件適配到openEuler RISC-V 2018次閱讀
- 數(shù)字二進(jìn)制計(jì)數(shù)器的設(shè)計(jì)和實(shí)現(xiàn) 1656次閱讀
- 基于FPGA的二進(jìn)制時(shí)鐘設(shè)計(jì)方案 2065次閱讀
- 二進(jìn)制解碼器到底是什么 6078次閱讀
- 如何利用二進(jìn)制數(shù)實(shí)現(xiàn)BCD碼的轉(zhuǎn)換 2.7w次閱讀
- 函數(shù)轉(zhuǎn)換BCD編碼二進(jìn)制數(shù)為整型數(shù) 6404次閱讀
- 格雷碼與二進(jìn)制的轉(zhuǎn)換 1.7w次閱讀
- 8421bcd碼轉(zhuǎn)換二進(jìn)制 7.1w次閱讀
- 二進(jìn)制數(shù)據(jù)壓縮算法 1.9w次閱讀
- 解析二進(jìn)制指數(shù)退避算法的過(guò)程 1w次閱讀
下載排行
本周
- 1開(kāi)關(guān)電源設(shè)計(jì)原理手冊(cè)
- 1.83 MB | 14次下載 | 免費(fèi)
- 2智能小車(chē)proteus仿真+C源程序
- 0.02 MB | 4次下載 | 免費(fèi)
- 3PL4807單節(jié)鋰離子電池充電器中文手冊(cè)
- 1.36 MB | 3次下載 | 免費(fèi)
- 4BQ769142技術(shù)參考手冊(cè)
- 2.99MB | 2次下載 | 免費(fèi)
- 5BQ77207EVM用戶(hù)指南
- 865.23KB | 2次下載 | 免費(fèi)
- 6TMR技術(shù)在電流傳感器中的應(yīng)用
- 616.47 KB | 1次下載 | 免費(fèi)
- 7CBM8605_8606_8608-運(yùn)算放大器【中文排版】-202406271735
- 2.70 MB | 1次下載 | 免費(fèi)
- 801-07-06-CBM8655_CBM8656精密運(yùn)算放大器
- 4.49 MB | 1次下載 | 免費(fèi)
本月
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 155次下載 | 1 積分
- 2PCB布線(xiàn)和布局電路設(shè)計(jì)規(guī)則
- 0.40 MB | 52次下載 | 免費(fèi)
- 3GB/T4706.1-2024 家用和類(lèi)似用途電器的安全第1部分:通用要求
- 7.43 MB | 14次下載 | 1 積分
- 4智能門(mén)鎖原理圖
- 0.39 MB | 14次下載 | 免費(fèi)
- 5開(kāi)關(guān)電源設(shè)計(jì)原理手冊(cè)
- 1.83 MB | 14次下載 | 免費(fèi)
- 6elmo直線(xiàn)電機(jī)驅(qū)動(dòng)調(diào)試細(xì)則
- 4.76 MB | 9次下載 | 6 積分
- 7WIFI智能音箱原理圖完整版
- 0.09 MB | 7次下載 | 10 積分
- 8PC1013三合一快充數(shù)據(jù)線(xiàn)充電芯片介紹
- 1.03 MB | 7次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183333次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73806次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多