日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

uboot启动流程概述_关于RISCV启动部分的思考~

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uboot启动流程概述_关于RISCV启动部分的思考~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.本文說明

RISC-V的架構有著非常鮮明的特點,如果看過arm,aarch64,mips等架構的一些架構手冊的基礎知識,再看RISC-V的芯片的架構設計,就會覺得非常有意思,可以找到一些影子,但是又比這些架構設計簡潔的多。當我看完aarch64的芯片手冊,再看RISC-V的boot時,設計思想竟然可以做一些對比,同樣去看RISC-V和mips的寄存器,也可看到高度的一致性。對于x86的架構我未曾深入了解,但是在risc-v上應該也可以找到一些設計元素。總體說來,RISC-V的架構設計集合了各種架構的設計的優點。我突然覺得這種堆疊即模塊的設計思想,在當前IoT物聯網發展的如火如荼的時代又要被賦予最新的使命了。我十分看好RISC-V的設計思想,也期待著與軟件界的Linux一樣,發展的繁榮昌盛。

1.1 RISC-V的誕生的時代背景

RISC-V至誕生之日起,就賦予了良好的設計模式,吸收了大量的arm、x86、以及mips中良好的設計基因,將過時指令設計的與架構設計中的坑都避免了。這幾十年的芯片的發展過程中,不少的芯片架構都曾因為設計問題消失在歷史長河中,有著曾經一度輝煌的sparc,還有當時被十分看好的mips。如今市場上最熱門的就屬x86和arm了,一個主打移動市場,一個主打pc市場,兩個在芯片架構的市場上發展的如火如荼。

然而,兩個巨頭都牢牢的把控著核心技術的門檻,用arm必須去買ip授權,以及x86的交叉授權模式等等。這些都讓很多崇尚開源的人看不下去了。那么設計芯片的指令集很難么?設計芯片的指令并非難事,這要很多人使用才行,因為芯片上需要搭載操作系統,需要去運行各種各樣的軟件,比如瀏覽器、數據庫、辦公系統、專業軟件等等。這些適配工作投入的精力和難度恐怕是需要集結各國最強的研發實力才能發展完善的。而risc-v就有這個魔力,竟然可以一呼百應,大概是大家受到arm與因特爾的壓迫已經很久了,大家都想自己造芯片玩玩。

arm與x86架構由于時間累計的問題,都積累了大量的指令集,x86當時誕生時不過80條指令,而今也有著上千條指令集了,各種復雜的指令集,多媒體指令集等等,使得寫底層軟件的人苦不堪言。喬布斯有句名言:至繁歸于至簡。歷史遺留的問題既然不能克服和解決,那就干脆抽取精華,設計出一個優秀的架構出來,于是risc-v在這種時代背景下開始了其新的使命。

1.2 發展現狀

新事物的崛起,必會引來眾多人的圍觀,技術的風所到之處,均是機會的影子。

而今risc-v已經成為眾多大學生積極學習的課程,各大公司也已經啟動了預研和探索的腳步。

RISC-V雖仍是星星之火,卻已現出燎原之態。

2.RISC-V 的芯片boot過程

2.1 RISC-V的啟動模式

在理解RISC-V的boot流程之前,首先需要知道的是RISC-V設計的三種模式:

  • M-mode(Machine Mode)
  • S-mode(Supervisor Mode)
  • U-mode(User Mode)

對于arm64來說,系統上電后啟動會處于EL3 secure world ,所以對于arm64來說,一般都會使用ARM Trusted firmware (TF-A) ?在normal world EL2 與 secure EL3 ?進行切換。

而對于RISC-V來說,系統上電啟動后會在M-Mode,而RISC-V目前是沒有Hypervisor這一層的概念的,所以目前采用的是opensbi。

2.2 RISC-V的啟動順序

對于標準的RISC-V啟動順序,可查看FU540的芯片手冊,其中有如下的順序描述:

MSEL(Mode Select):啟動模式,一般為選擇撥碼開關等方式進行選擇。

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

FSBL(First Stage Boot Loader ):啟動PLLs和初始化DDR內存。

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

下面詳細分析一下FU540的啟動流程。

復位向量表

當芯片上電后,當芯片有33.3MHz外部晶振時鐘時,所有的核會跳轉到地址0x1004地址處去執行程序。

程序會根據MSEL選擇,選擇如下的跳轉地址:

Zeroth Stage Boot Loader (ZSBL)

零級引導程序加載會從GUID分區中下載更加復雜的FSBI,一般都是QSPI的flash或者sd卡中下載FSBI,然后將該程序放到地址0x08000000處,至于從哪個介質查找FSBI,可以看到如下的選項:

The First Stage Boot Loader (FSBL)

該執行的地址位于L2 LIM,也就是地址0x08000000。該程序的目的是DDR初始化后,將系統在DDR中執行起來。

  • 切換頻率到1GHz。
  • 配置ddr pll,外設時鐘和控制器等等。
  • 拷貝設備樹和SBI固件到DDR中。
  • 跳轉到0x80000000開始執行程序。

Berkeley Boot Loader (BBL)

Berkeley引導加載程序(BBL)從位于0x8000_0000的DDR執行。它負責提供管理器二進制接口(SBI)以及模擬所需的任何RISC-V不是由芯片本身實現的指令。該接口可以為Linux等其他的os提供調用接口。

3.什么是SBI?

SBI的全稱是RISC-V Supervisor Binary Interface 。它提供了risc-v標準的S-mode OS與Supervisor Execution Environment (SEE) ?接口。

一般來說,操作系統都不會直接管理硬件資源,會通過SBI去調用到M-mode。

4.什么是opensbi

簡單的說,opensbi就是一個開源的RISC-V虛擬化二進制接口的通用的規范。

使用的是BSD-2的開源協議,也就是任何人都可以隨意修改和使用,也提供了通用的規范化的接口實現。

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

以往芯片廠家都會按照自己的啟動規則定義一些啟動的流程,比如有些需要SPL+UBOOT,有些可以是直接從SPI或SD卡中boot,這些啟動的規則很多,每當使用一款芯片,都需要去理解其啟動的流程,十分的復雜。于是就出現了一些規則和定義。

比如蘋果公司定義了個人PC電腦的規則:

又比如Linux定義了設備規則等等:

而RISC-V雖然目前芯片種類少,但是也需要制定一些啟動規則,于是有了下面的規則:

當有了opensbi后,再回頭看啟動流程,與aarch64之間進行一個對比:

aarch64借助atf框架,從EL3跳轉到EL1,并啟動u-boot。

對于RISC-V,上圖是一個標準的加載啟動流程,其中Opensbi提供了M模式的運行時庫。

5.openSBI call接口的實現

opensbi不僅僅具有加載和引導功能,也能夠供S-Mode的OS使用,比如提供串口控制臺或者中斷的分發等等。調用方式可以通過ecall來實現。類似于syscall的實現規則。當前階段實現了下面的接口:

詳細可以看下面的官方文檔描述。

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

6.總結

RISC-V的啟動規范可以按照opensbi的接口實現來自行定義,芯片廠家也可以通過適配opensbi的接口來實現平臺通用化的移植,這樣將會大大簡化上層設計的復雜度。同時規范化的啟動流程對于使用者來說更加的友好。相信在這種規范化的模式下,RISC-V的設計將會越來越完善。

1.楊福宇專欄 | 新車用CAN FD,你可能還會被忽悠!

2.中芯國際深夜大瓜:蔣尚義回來梁孟松要走?

3.美國再發實體清單,北理、南航、南理工上榜,“國防七子”終于齊了!

4.分析:全球性芯片缺貨超乎想象

5.Windows 擁抱 Android,微軟在下怎樣的一步棋?

6.散裝vs批發誰效率高?變量訪問被ARM架構安排的明明白白

免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯系,我們將根據您提供的版權證明材料確認版權并支付稿酬或者刪除內容。

總結

以上是生活随笔為你收集整理的uboot启动流程概述_关于RISCV启动部分的思考~的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区二区三区免费观看 | 国产乱淫av片杨贵妃 | 在线免费av网站 | 中文字幕乱码人妻无码久久95 | 亚洲成人播放器 | 一本一道久久综合狠狠老精东影业 | 免费在线观看视频a | 青娱乐av在线 | 亚洲热热 | 欧美色综合网 | 波多野结衣视频在线播放 | 欧美成人h版 | 粗大的内捧猛烈进出在线视频 | 无码日韩精品一区二区 | 夜夜爽夜夜| av夜色| 九九热精品视频在线观看 | 99在线视频观看 | 色成人综合网 | 欧美在线一区二区三区 | 欧美日韩第一页 | 成年女人18级毛片毛片免费 | 蜜桃成人在线观看 | 免费一级黄色大片 | 精品国产乱码久久久久久影片 | 中国女人和老外的毛片 | 欧美日韩成人一区二区 | 超碰久草 | 免费成人蒂法网站 | free性满足hd国产精品久 | 欧美呦呦呦 | 免费看欧美片 | 中国a级大片 | 成年人免费视频播放 | 一级黄毛片 | av手机免费看 | a网址| 成人午夜影院在线观看 | 国产乱码精品一区二三赶尸艳谈 | 99久久婷婷国产综合精品 | 韩国黄色视屏 | 亚洲欧洲日本国产 | 国产精品国产三级国产普通话对白 | 好姑娘在线观看高清完整版电影 | 午夜美女在线 | av成人免费 | 亚洲AV成人无码久久精品巨臀 | 麻豆changesxxx国产 | 久久久精品国产免费爽爽爽 | 日干夜操 | 成人在线国产精品 | 国产suv一区二区 | 亚洲三级网 | 狠狠操狠狠操狠狠操 | 一区欧美 | 日韩avwww| 免费黄色大片网站 | 91午夜影院| 美女扒开粉嫩的尿囗给男生桶 | 亚洲精选一区二区 | 国产免费av在线 | 夜夜操天天爽 | 深夜视频免费在线观看 | 狠狠插综合 | 青青草免费在线 | 国内精品久久久久久久久久久 | 激情久久久 | 亚洲人屁股眼子交1 | 美女三级网站 | 欧美影视一区 | 在线观看日韩国产 | 天天干天天操天天爽 | 免费一级a毛片 | 中出精品 | 国产精品麻豆果冻传媒在线播放 | 处破痛哭a√18成年片免费 | 亚洲欧美日韩在线看 | 久久精品午夜 | 国产成人精品久久二区二区91 | 久久伊人99 | 中文字幕在线不卡视频 | 欧美一二区视频 | 日韩精品一区不卡 | 亚洲国产日韩在线一区 | 欧美精品一区二区性色a+v | 啪啪无遮挡 | h在线| 青青草国内自拍 | 日韩欧美中文字幕在线播放 | 93久久精品日日躁夜夜躁欧美 | 亚洲图片综合网 | 91丝袜呻吟高潮美腿白嫩在线观看 | 麻豆传媒网站在线观看 | 能看的黄色网址 | 日本黄色网页 | 体内精视频xxxxx | 亚洲一级无毛 | 中文字幕在线观看三区 | 91国产免费观看 |