91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

關(guān)于risc-v啟動(dòng)部分的思考

嵌入式IoT ? 來(lái)源:嵌入式IoT ? 作者:嵌入式IoT ? 2020-12-28 10:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于risc-v啟動(dòng)部分思考

1.本文說(shuō)明

1.1 risc-v的誕生的時(shí)代背景

1.2 發(fā)展現(xiàn)狀

2.risc-v 的芯片boot過(guò)程

2.1 risc-v的啟動(dòng)模式

2.2 risc-v的啟動(dòng)順序

3.什么是SBI?

4.什么是opensbi

5.openSBI call接口的實(shí)現(xiàn)

6.總結(jié)

1.本文說(shuō)明

risc-v的架構(gòu)有著非常鮮明的特點(diǎn),如果看過(guò)arm,aarch64,mips等架構(gòu)的一些架構(gòu)手冊(cè)的基礎(chǔ)知識(shí),再看risc-v的芯片的架構(gòu)設(shè)計(jì),就會(huì)覺(jué)得非常有意思,可以找到一些影子,但是又比這些架構(gòu)設(shè)計(jì)簡(jiǎn)潔的多。當(dāng)我看完aarch64的芯片手冊(cè),再看risc-v的boot時(shí),設(shè)計(jì)思想竟然可以做一些對(duì)比,同樣去看risc-v和mips的寄存器,也可看到高度的一致性。

對(duì)于x86的架構(gòu)我未曾深入了解,但是在risc-v上應(yīng)該也可以找到一些設(shè)計(jì)元素??傮w說(shuō)來(lái),risc-v的架構(gòu)設(shè)計(jì)集合了各種架構(gòu)的設(shè)計(jì)的優(yōu)點(diǎn)。我突然覺(jué)得這種堆疊即模塊的設(shè)計(jì)思想,在當(dāng)前iot物聯(lián)網(wǎng)發(fā)展的如火如荼的時(shí)代又要被賦予最新的使命了。我十分看好risc-v的設(shè)計(jì)思想,也期待著與軟件界的Linux一樣,發(fā)展的繁榮昌盛。

1.1 risc-v的誕生的時(shí)代背景

risc-v至誕生之日起,就賦予了良好的設(shè)計(jì)模式,吸收了大量的arm、x86、以及mips中良好的設(shè)計(jì)基因,將過(guò)時(shí)指令設(shè)計(jì)的與架構(gòu)設(shè)計(jì)中的坑都避免了。這幾十年的芯片的發(fā)展過(guò)程中,不少的芯片架構(gòu)都曾因?yàn)樵O(shè)計(jì)問(wèn)題消失在歷史長(zhǎng)河中,有著曾經(jīng)一度輝煌的sparc,還有當(dāng)時(shí)被十分看好的mips。如今市場(chǎng)上最熱門(mén)的就屬x86和arm了,一個(gè)主打移動(dòng)市場(chǎng),一個(gè)主打pc市場(chǎng),兩個(gè)在芯片架構(gòu)的市場(chǎng)上發(fā)展的如火如荼。

然而,兩個(gè)巨頭都牢牢的把控著核心技術(shù)的門(mén)檻,用arm必須去買(mǎi)ip授權(quán),以及x86的交叉授權(quán)模式等等。這些都讓很多崇尚開(kāi)源的人看不下去了。那么設(shè)計(jì)芯片的指令集很難么?設(shè)計(jì)芯片的指令并非難事,這要很多人使用才行,因?yàn)樾酒闲枰钶d操作系統(tǒng),需要去運(yùn)行各種各樣的軟件,比如瀏覽器、數(shù)據(jù)庫(kù)、辦公系統(tǒng)、專(zhuān)業(yè)軟件等等。這些適配工作投入的精力和難度恐怕是需要集結(jié)各國(guó)最強(qiáng)的研發(fā)實(shí)力才能發(fā)展完善的。而risc-v就有這個(gè)魔力,竟然可以一呼百應(yīng),大概是大家受到arm與因特爾的壓迫已經(jīng)很久了,大家都想自己造芯片玩玩。

arm與x86架構(gòu)由于時(shí)間累計(jì)的問(wèn)題,都積累了大量的指令集,x86當(dāng)時(shí)誕生時(shí)不過(guò)80條指令,而今也有著上千條指令集了,各種復(fù)雜的指令集,多媒體指令集等等,使得寫(xiě)底層軟件的人苦不堪言。喬布斯有句名言:至繁歸于至簡(jiǎn)。歷史遺留的問(wèn)題既然不能克服和解決,那就干脆抽取精華,設(shè)計(jì)出一個(gè)優(yōu)秀的架構(gòu)出來(lái),于是risc-v在這種時(shí)代背景下開(kāi)始了其新的使命。

1.2 發(fā)展現(xiàn)狀

新事物的崛起,必會(huì)引來(lái)眾多人的圍觀(guān),技術(shù)的風(fēng)所到之處,均是機(jī)會(huì)的影子。

而今risc-v已經(jīng)成為眾多大學(xué)生積極學(xué)習(xí)的課程,各大公司也已經(jīng)啟動(dòng)了預(yù)研和探索的腳步。

RISC-V雖仍是星星之火,卻已現(xiàn)出燎原之態(tài)。

2.risc-v 的芯片boot過(guò)程

2.1 risc-v的啟動(dòng)模式

在理解risc-v的boot流程之前,首先需要知道的是risc-v設(shè)計(jì)的三種模式:

M-mode(Machine Mode)

S-mode(Supervisor Mode)

U-mode(User Mode)

dfc07f56-46ce-11eb-8b86-12bb97331649.png

對(duì)于arm64來(lái)說(shuō),系統(tǒng)上電后啟動(dòng)會(huì)處于EL3 secure world ,所以對(duì)于arm64來(lái)說(shuō),一般都會(huì)使用ARM Trusted firmware (TF-A) 在normal world EL2 與 secure EL3 進(jìn)行切換。

而對(duì)于risc-v來(lái)說(shuō),系統(tǒng)上電啟動(dòng)后會(huì)在M-Mode,而risc-v目前是沒(méi)有Hypervisor這一層的概念的,所以目前采用的是opensbi。

dfe685b6-46ce-11eb-8b86-12bb97331649.png

2.2 risc-v的啟動(dòng)順序

對(duì)于標(biāo)準(zhǔn)的risc-v啟動(dòng)順序,可查看FU540的芯片手冊(cè),其中有如下的順序描述:

MSEL(Mode Select):?jiǎn)?dòng)模式,一般為選擇撥碼開(kāi)關(guān)等方式進(jìn)行選擇。

ZSBL (Zeroth Stage Boot Loader):片上ROM程序。

FSBL(First Stage Boot Loader ):?jiǎn)?dòng)PLLs和初始化DDR內(nèi)存。

BBL(Berkeley Boot Loader ):提供加載,并且管理著二進(jìn)制接口(SBI)。

下面詳細(xì)分析一下FU540的啟動(dòng)流程。

復(fù)位向量表

當(dāng)芯片上電后,當(dāng)芯片有33.3MHz外部晶振時(shí)鐘時(shí),所有的核會(huì)跳轉(zhuǎn)到地址0x1004地址處去執(zhí)行程序。

e04ec2fc-46ce-11eb-8b86-12bb97331649.png

程序會(huì)根據(jù)MSEL選擇,選擇如下的跳轉(zhuǎn)地址:

e09ad34a-46ce-11eb-8b86-12bb97331649.png

Zeroth Stage Boot Loader (ZSBL)

零級(jí)引導(dǎo)程序加載會(huì)從GUID分區(qū)中下載更加復(fù)雜的FSBI,一般都是QSPI的flash或者sd卡中下載FSBI,然后將該程序放到地址0x08000000處,至于從哪個(gè)介質(zhì)查找FSBI,可以看到如下的選項(xiàng):

e100ffa8-46ce-11eb-8b86-12bb97331649.png

The First Stage Boot Loader (FSBL)

該執(zhí)行的地址位于L2 LIM,也就是地址0x08000000。該程序的目的是DDR初始化后,將系統(tǒng)在DDR中執(zhí)行起來(lái)。

切換頻率到1GHz。

配置ddr pll,外設(shè)時(shí)鐘和控制器等等。

拷貝設(shè)備樹(shù)和SBI固件到DDR中。

跳轉(zhuǎn)到0x80000000開(kāi)始執(zhí)行程序。

Berkeley Boot Loader (BBL)

Berkeley引導(dǎo)加載程序(BBL)從位于0x8000_0000的DDR執(zhí)行。它負(fù)責(zé)提供管理器二進(jìn)制接口(SBI)以及模擬所需的任何RISC-V不是由芯片本身實(shí)現(xiàn)的指令。該接口可以為L(zhǎng)inux等其他的os提供調(diào)用接口。

3.什么是SBI?

SBI的全稱(chēng)是RISC-V Supervisor Binary Interface 。它提供了risc-v標(biāo)準(zhǔn)的S-mode OS與SupervisorExecution Environment (SEE) 接口。

一般來(lái)說(shuō),操作系統(tǒng)都不會(huì)直接管理硬件資源,會(huì)通過(guò)SBI去調(diào)用到M-mode。

4.什么是opensbi

簡(jiǎn)單的說(shuō),opensbi就是一個(gè)開(kāi)源的RISC-V虛擬化二進(jìn)制接口的通用的規(guī)范。

使用的是BSD-2的開(kāi)源協(xié)議,也就是任何人都可以隨意修改和使用,也提供了通用的規(guī)范化的接口實(shí)現(xiàn)。

這里就需要理解一下為什么需要規(guī)范化了。

以往芯片廠(chǎng)家都會(huì)按照自己的啟動(dòng)規(guī)則定義一些啟動(dòng)的流程,比如有些需要SPL+UBOOT,有些可以是直接從SPI或SD卡中boot,這些啟動(dòng)的規(guī)則很多,每當(dāng)使用一款芯片,都需要去理解其啟動(dòng)的流程,十分的復(fù)雜。于是就出現(xiàn)了一些規(guī)則和定義。

比如蘋(píng)果公司定義了個(gè)人PC電腦的規(guī)則:

又比如Linux定義了設(shè)備規(guī)則等等:

而risc-v雖然目前芯片種類(lèi)少,但是也需要制定一些啟動(dòng)規(guī)則,于是有了下面的規(guī)則:

e236bfe8-46ce-11eb-8b86-12bb97331649.png

當(dāng)有了opensbi后,再回頭看啟動(dòng)流程,與aarch64之間進(jìn)行一個(gè)對(duì)比:

e29f5aee-46ce-11eb-8b86-12bb97331649.png

aarch64借助atf框架,從EL3跳轉(zhuǎn)到EL1,并啟動(dòng)u-boot。

e2beb5ce-46ce-11eb-8b86-12bb97331649.png

對(duì)于riscv,上圖是一個(gè)標(biāo)準(zhǔn)的加載啟動(dòng)流程,其中Opensbi提供了M模式的運(yùn)行時(shí)庫(kù)。

5.openSBI call接口的實(shí)現(xiàn)

opensbi不僅僅具有加載和引導(dǎo)功能,也能夠供S-Mode的OS使用,比如提供串口控制臺(tái)或者中斷的分發(fā)等等。調(diào)用方式可以通過(guò)ecall來(lái)實(shí)現(xiàn)。類(lèi)似于syscall的實(shí)現(xiàn)規(guī)則。當(dāng)前階段實(shí)現(xiàn)了下面的接口:

e2f7f6d6-46ce-11eb-8b86-12bb97331649.png

詳細(xì)可以看下面的官方文檔描述。

https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc

6.總結(jié)

riscv的啟動(dòng)規(guī)范可以按照opensbi的接口實(shí)現(xiàn)來(lái)自行定義,芯片廠(chǎng)家也可以通過(guò)適配opensbi的接口來(lái)實(shí)現(xiàn)平臺(tái)通用化的移植,這樣將會(huì)大大簡(jiǎn)化上層設(shè)計(jì)的復(fù)雜度。同時(shí)規(guī)范化的啟動(dòng)流程對(duì)于使用者來(lái)說(shuō)更加的友好。相信在這種規(guī)范化的模式下,riscv的設(shè)計(jì)將會(huì)越來(lái)越完善。

責(zé)任編輯:xj

原文標(biāo)題:關(guān)于risc-v啟動(dòng)部分思考

文章出處:【微信公眾號(hào):嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    5198

    文章

    20443

    瀏覽量

    333990
  • RISC-V
    +關(guān)注

    關(guān)注

    48

    文章

    2886

    瀏覽量

    52989

原文標(biāo)題:關(guān)于risc-v啟動(dòng)部分思考

文章出處:【微信號(hào):Embeded_IoT,微信公眾號(hào):嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RISC-V不支持 Nx嗎?

    RISC-V architecture! · nrwl/nx · Discussion #27915 如果能夠支持 RISC-V,那就太好了。目前我無(wú)法在我的 VisionFive2 板上
    發(fā)表于 02-04 06:27

    探索RISC-V在機(jī)器人領(lǐng)域的潛力

    2基礎(chǔ)包和相關(guān)依賴(lài)。 ? 設(shè)置環(huán)境變量,確保ROS 2命令可以被正確識(shí)別。 遇到的挑戰(zhàn)與解決: 在編譯某些復(fù)雜的ROS功能包時(shí),由于部分依賴(lài)庫(kù)在RISC-V架構(gòu)下的版本較新或存在細(xì)微差異,曾出現(xiàn)過(guò)
    發(fā)表于 12-03 14:40

    為什么RISC-V是嵌入式應(yīng)用的最佳選擇

    最近RISC-V基金會(huì)在社交媒體上發(fā)文,文章說(shuō)物聯(lián)網(wǎng)和嵌入式系統(tǒng)正在迅速發(fā)展,需要更高的計(jì)算性能、更低的功耗和人工智能。RISC-V是為未來(lái)而建的,包括超高效的MCU到高性能應(yīng)用處理器,RISC-V使開(kāi)發(fā)人員能夠設(shè)計(jì)以下解決方案
    的頭像 發(fā)表于 11-07 10:09 ?1603次閱讀

    RISC-V指令集手冊(cè)中F指令部分

    本文主要講解RISC-V指令集手冊(cè)中F指令部分 RISC-V標(biāo)準(zhǔn)中采用了符合IEEE 754-2008算術(shù)標(biāo)準(zhǔn)的單精度浮點(diǎn)計(jì)算指令,對(duì)于浮點(diǎn)運(yùn)算來(lái)說(shuō),RV32F指令擴(kuò)展中增加了32個(gè)32位的浮點(diǎn)
    發(fā)表于 10-22 08:18

    大灣區(qū)RISC-V生態(tài)全景展示:RISC-V生態(tài)發(fā)展論壇、開(kāi)發(fā)者Workshop和生態(tài)應(yīng)用專(zhuān)區(qū)

    繼7月份上海的RISC-V中國(guó)峰會(huì)之后,中國(guó)RISC-V生態(tài)和產(chǎn)業(yè)發(fā)展最新動(dòng)態(tài)將在10月份深圳的灣芯展上全景展示。 ? RISC-V,這個(gè)以開(kāi)放、簡(jiǎn)約、模塊化重塑處理器架構(gòu)格局的開(kāi)源指令集(ISA
    的頭像 發(fā)表于 10-13 09:18 ?531次閱讀
    大灣區(qū)<b class='flag-5'>RISC-V</b>生態(tài)全景展示:<b class='flag-5'>RISC-V</b>生態(tài)發(fā)展論壇、開(kāi)發(fā)者Workshop和生態(tài)應(yīng)用專(zhuān)區(qū)

    躍昉科技亮相2025 RISC-V軟件生態(tài)研討會(huì)

    2025 年 9 月 19 日,一場(chǎng)聚焦 RISC-V 軟件生態(tài)發(fā)展的行業(yè)盛會(huì)——“RISC-V 軟件生態(tài)研討會(huì)”在珠海國(guó)際會(huì)展中心成功舉辦。全球首款支持超128核RISC-V RVA23企業(yè)級(jí)模擬平臺(tái)LeapEMU正式亮相,L
    的頭像 發(fā)表于 09-20 14:04 ?1237次閱讀

    普華基礎(chǔ)軟件亮相2025 RISC-V中國(guó)峰會(huì)

    此前,7月16日至18日,第五屆RISC-V中國(guó)峰會(huì)在上海盛大召開(kāi)。普華基礎(chǔ)軟件副總經(jīng)理兼戰(zhàn)略研究院院長(zhǎng)張曉先受邀參會(huì),發(fā)表《開(kāi)源小滿(mǎn)助力RISC-V軟硬協(xié)同生態(tài)發(fā)展》主題演講,分享了開(kāi)源小滿(mǎn)
    的頭像 發(fā)表于 07-28 16:51 ?1170次閱讀
    普華基礎(chǔ)軟件亮相2025 <b class='flag-5'>RISC-V</b>中國(guó)峰會(huì)

    RISC-V 手冊(cè)

    以下是關(guān)于RISC-V的詳細(xì)介紹,結(jié)合其核心技術(shù)特點(diǎn)與當(dāng)前發(fā)展現(xiàn)狀:核心概念RISC-V(第五代精簡(jiǎn)指令集)是一種基于精簡(jiǎn)指令集(RISC)的開(kāi)源指令集架構(gòu)(ISA),由加州大學(xué)伯克利
    發(fā)表于 07-28 16:27 ?11次下載

    2025新思科技RISC-V科技日活動(dòng)圓滿(mǎn)結(jié)束

    新思科技深度參與2025 RISC-V中國(guó)峰會(huì)并于2025年7月16日舉辦同期活動(dòng)“新思科技RISC-V科技日”技術(shù)論壇,聚焦“從芯片到系統(tǒng)重構(gòu)RISC-V創(chuàng)新”主題,議題覆蓋當(dāng)前最前沿的技術(shù)領(lǐng)域
    的頭像 發(fā)表于 07-25 17:31 ?1408次閱讀

    RISC-V 發(fā)展態(tài)勢(shì)與紅帽系統(tǒng)適配進(jìn)展

    2025 年 7 月 18 日,在第五屆(2025)RISC-V 中國(guó)峰會(huì)的軟件與生態(tài)系統(tǒng)分論壇上,紅帽軟件(北京)有限公司首席軟件工程師、RISC-V 國(guó)際基金會(huì)大使傅煒?lè)窒淼闹黝}是《紅帽在
    發(fā)表于 07-18 10:55 ?4061次閱讀
    <b class='flag-5'>RISC-V</b> 發(fā)展態(tài)勢(shì)與紅帽系統(tǒng)適配進(jìn)展

    RISC-V International CEO:RISC-V 應(yīng)用全面開(kāi)花,2031 年滲透率將達(dá) 25.7%

    7 月 16 日~19 日,第五屆(2025)RISC-V 中國(guó)峰會(huì)在上海張江科學(xué)會(huì)堂拉開(kāi)帷幕。峰會(huì)設(shè)置 1 場(chǎng)主論壇、8 大垂直領(lǐng)域分論壇、多場(chǎng)研習(xí)會(huì)及多項(xiàng)同期活動(dòng)。在 7 月 17 日的主論壇上
    發(fā)表于 07-17 10:28 ?3698次閱讀
    <b class='flag-5'>RISC-V</b> International CEO:<b class='flag-5'>RISC-V</b> 應(yīng)用全面開(kāi)花,2031 年滲透率將達(dá) 25.7%

    RISC-V和ARM有何區(qū)別?

    在微處理器架構(gòu)領(lǐng)域,ARM與RISC-V是兩個(gè)備受關(guān)注的體系。ZLG致遠(yuǎn)電子在推出ARM核心版后,又推出了基于RISC-V的MR6450核心版,這引發(fā)了人們對(duì)這兩種架構(gòu)差異的深入探討。ARM
    的頭像 發(fā)表于 06-24 11:38 ?2019次閱讀
    <b class='flag-5'>RISC-V</b>和ARM有何區(qū)別?

    RISC-V賽道的“硬核”突圍之路

    RISC-V作為一種開(kāi)源指令集架構(gòu)(ISA),近年來(lái)在全球范圍內(nèi)迅速崛起,有望重塑半導(dǎo)體產(chǎn)業(yè)格局。從芯片設(shè)計(jì)公司到軟件開(kāi)發(fā)商,從學(xué)術(shù)研究機(jī)構(gòu)到行業(yè)巨頭,都在積極探索RISC-V的應(yīng)用和創(chuàng)新
    的頭像 發(fā)表于 04-24 15:34 ?556次閱讀
    <b class='flag-5'>RISC-V</b>賽道的“硬核”突圍之路

    FPGA與RISC-V淺談

    全球半導(dǎo)體產(chǎn)業(yè)競(jìng)爭(zhēng)格局正在經(jīng)歷深刻變革,物聯(lián)網(wǎng)、邊緣計(jì)算等新興技術(shù)的蓬勃發(fā)展,讓RISC-V憑借其開(kāi)源、精簡(jiǎn)以及模塊化的靈活優(yōu)勢(shì),日益成為業(yè)界焦點(diǎn),也為全球半導(dǎo)體產(chǎn)業(yè)注入新的活力與挑戰(zhàn)
    發(fā)表于 04-11 13:53 ?672次閱讀
    FPGA與<b class='flag-5'>RISC-V</b>淺談

    原來(lái),它們用的都是國(guó)產(chǎn)RISC-V芯片

    RISC-V憑借指令集的靈活性與生態(tài)的開(kāi)放性,正在重塑中國(guó)芯片創(chuàng)新的范式。作為國(guó)產(chǎn)化設(shè)備的推動(dòng)者,ZLG致遠(yuǎn)電子的多款設(shè)備已采用國(guó)產(chǎn)RISC-V芯片,展現(xiàn)了其在推動(dòng)芯片自主可控方面的積極實(shí)踐。前言
    的頭像 發(fā)表于 04-02 11:42 ?1286次閱讀
    原來(lái),它們用的都是國(guó)產(chǎn)<b class='flag-5'>RISC-V</b>芯片