本文來源電子發燒友社區,作者:jf_58250416, 帖子地址:https://bbs.elecfans.com/jishu_2284990_1_1.html
上回說到最近申請到一塊賽昉的RISCV架構開發板,想移植ohos系統在上面試一試,跟著一些已有的星星點點的教程邊學邊做弄了好幾天也沒有成功,不過也從中學到一點經驗,不如總結一下再水一篇試用報告。
ohos全稱是openharmony,它的整個架構很大,按照應用的設備可以分為輕量系統、小型系統和標準系統。個中區別各位看官可以自行百度,賽昉開發板這種能運行linxu的,假如說移植一般都是標準系統。移植整個系統的重中之重,便是移植內核,這里ohos對整個系統和內核的定義如下:
所以是不是把在別的設備上能用的裝有img鏡像的SD卡插到賽昉開發板就可以了呢,當然不是。首先,芯片必須是相同的架構,所以ohos在DAYU開發板上好像還不錯了,ohos_riscv還很初級。其次,系統在不同開發板上的引導,還和其它硬件有關系,賽昉正好在一個文件里有個流程圖:
我在開機時打印了一下幾個關鍵log如下:
所以大概總結是這樣,一個嵌入式板上電之后,會首先通過固件形式的bootloader(pc上是bios)引導,Bootloader是嵌入式系統在加電后執行的第一段代碼,在它完成CPU和相關硬件的初始化之后,再將操作系統映像或固化的嵌入式應用程序裝載到內存中然后跳轉到操作系統所在的空間,啟動操作系統運行。對于嵌入式系統,Bootloader是基于特定硬件平臺來實現的。因此,幾乎不可能為所有的嵌入式系統建立一個通用的Bootloader,不同的處理器架構都有不同的Bootloader。Bootloader不但依賴于CPU的體系結構,而且依賴于嵌入式系統板級設備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另一塊板子上,一般也都需要修改Bootloader的源程序 。
bootloader之后,ddrinit會對外部內存進行初始化,接下來就可以跑內存上的代碼了。
而opensbi則是riscv架構下一個特有的產物,RISC-V指令集的SBI標準規定了類Unix平臺下,操作系統運行環境的規范。這個規范擁有多種實現,OpenSBI是它的一種實現.RISC-V架構中,存在著定義于操作系統之下的運行環境。這個運行環境不僅將引導啟動RISC-V下的操作系統, 還將常駐后臺,為操作系統提供一系列二進制接口,以便其獲取和操作硬件信息。 RISC-V給出了此類環境和二進制接口的規范,稱為“操作系統二進制接口”,即“SBI”。SBI的實現是在M模式下運行的特定于平臺的固件,它將管理S、U等特權上的程序或通用的操作系統。
下一步uboot就可以把代碼引導到sd卡了,針對用戶而言,可以是各個linux發行版,但是如果你的嵌入式開發板裝載了好多個系統,這一步還需要一個引導工具,便是grub。
至此,賽昉的fedora應該就引導成功了。
那么話說回來,如果需要基于賽昉移植ohos_riscv的話,除了適配賽防的uboot,引導到ohos標準系統的linux內核上,還要實現ohos的系統特性,也是路漫漫其修遠兮了。
期待賽昉在ohos上進一步的表現,可能我的觀點比較淺薄,歡迎批評指正。
參考:
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/porting/porting-linux-kernel.md/
https://baike.baidu.com/item/U-Boot/10377075?fr=aladdin
https://rvspace.org/en/Product/VisionFive/Technical_Documents/VisionFive_Single_Board_Computer_Quick_Start_Guide
上回說到最近申請到一塊賽昉的RISCV架構開發板,想移植ohos系統在上面試一試,跟著一些已有的星星點點的教程邊學邊做弄了好幾天也沒有成功,不過也從中學到一點經驗,不如總結一下再水一篇試用報告。
ohos全稱是openharmony,它的整個架構很大,按照應用的設備可以分為輕量系統、小型系統和標準系統。個中區別各位看官可以自行百度,賽昉開發板這種能運行linxu的,假如說移植一般都是標準系統。移植整個系統的重中之重,便是移植內核,這里ohos對整個系統和內核的定義如下:


所以是不是把在別的設備上能用的裝有img鏡像的SD卡插到賽昉開發板就可以了呢,當然不是。首先,芯片必須是相同的架構,所以ohos在DAYU開發板上好像還不錯了,ohos_riscv還很初級。其次,系統在不同開發板上的引導,還和其它硬件有關系,賽昉正好在一個文件里有個流程圖:

我在開機時打印了一下幾個關鍵log如下:



所以大概總結是這樣,一個嵌入式板上電之后,會首先通過固件形式的bootloader(pc上是bios)引導,Bootloader是嵌入式系統在加電后執行的第一段代碼,在它完成CPU和相關硬件的初始化之后,再將操作系統映像或固化的嵌入式應用程序裝載到內存中然后跳轉到操作系統所在的空間,啟動操作系統運行。對于嵌入式系統,Bootloader是基于特定硬件平臺來實現的。因此,幾乎不可能為所有的嵌入式系統建立一個通用的Bootloader,不同的處理器架構都有不同的Bootloader。Bootloader不但依賴于CPU的體系結構,而且依賴于嵌入式系統板級設備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另一塊板子上,一般也都需要修改Bootloader的源程序 。
bootloader之后,ddrinit會對外部內存進行初始化,接下來就可以跑內存上的代碼了。
而opensbi則是riscv架構下一個特有的產物,RISC-V指令集的SBI標準規定了類Unix平臺下,操作系統運行環境的規范。這個規范擁有多種實現,OpenSBI是它的一種實現.RISC-V架構中,存在著定義于操作系統之下的運行環境。這個運行環境不僅將引導啟動RISC-V下的操作系統, 還將常駐后臺,為操作系統提供一系列二進制接口,以便其獲取和操作硬件信息。 RISC-V給出了此類環境和二進制接口的規范,稱為“操作系統二進制接口”,即“SBI”。SBI的實現是在M模式下運行的特定于平臺的固件,它將管理S、U等特權上的程序或通用的操作系統。
下一步uboot就可以把代碼引導到sd卡了,針對用戶而言,可以是各個linux發行版,但是如果你的嵌入式開發板裝載了好多個系統,這一步還需要一個引導工具,便是grub。
至此,賽昉的fedora應該就引導成功了。
那么話說回來,如果需要基于賽昉移植ohos_riscv的話,除了適配賽防的uboot,引導到ohos標準系統的linux內核上,還要實現ohos的系統特性,也是路漫漫其修遠兮了。
期待賽昉在ohos上進一步的表現,可能我的觀點比較淺薄,歡迎批評指正。
參考:
https://docs.openharmony.cn/pages/v3.1/zh-cn/device-dev/porting/porting-linux-kernel.md/
https://baike.baidu.com/item/U-Boot/10377075?fr=aladdin
https://rvspace.org/en/Product/VisionFive/Technical_Documents/VisionFive_Single_Board_Computer_Quick_Start_Guide
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
RISC-V
+關注
關注
46文章
2458瀏覽量
47952 -
賽昉科技
+關注
關注
3文章
164瀏覽量
14644
發布評論請先 登錄
相關推薦
共建生態,賦能應用 | 賽昉科技精彩亮相中國RISC-V生態大會
2025中國RISC-V生態大會于近日在北京圓滿落幕。大會以“共建生態,共享未來”為主題,匯聚了中外產學研界各方代表,共同探討RISC-V的最新發展趨勢和產業機遇。作為中國RISC-V軟硬件生態

賽昉科技RISC-V家庭云解決方案:NAS存儲性能升級,隱私安全雙保障
(VisionFive2)單板計算機,推出全新RISC-V家庭云(NAS)解決方案,為用戶提供高性能、高安全性的私有云存儲服務,滿足家庭及輕量級企業場景需求。方案亮點01高性能硬件支持

首屆RISC-V產業發展大會成功舉辦,賽昉攜手產業伙伴共繪RISC-V新藍圖
12月28日,由中國電子工業標準化技術協會RISC-V工作委員會(以下簡稱“RISC-V工作委員會”)主辦的首屆“RISC-V產業發展大會”在北京成功舉辦。作為推動RISC-V生態發展

賽昉科技亮相ICCAD-Expo 2024,共探RISC-V技術最新發展
與會觀眾共探RISC-V技術的最新發展和行業應用。RISC-V架構的開放性和靈活性使其成為中國芯片行業的重要機遇。賽昉科技資深銷售總監周杰在“IP與IC設計服務”專

賽昉科技發布全新RISC-V處理器內核Dubhe-83
RISC-V軟硬件生態企業賽昉科技近日宣布,正式推出其全新RISC-V處理器內核——Dubhe-83(昉?天樞-83),該內核專為AI應用與
預售啟動!昉·星光 2 AI套件正式發布,基于RISC-V構建AI算力
10月24日,昉·星光2(VisionFive2)AI套件正式開啟預售。該套件由中國RISC-V軟硬件生態領導者賽昉科技攜手邊緣人工智能(A

賽昉科技產品亮相RISC-V開源創新中心,雙方達成戰略合作
RISC-V開源創新中心:“我們非常高興能與賽昉科技公司建立戰略合作伙伴關系。賽昉科技的技術創新,結合中心的教育資源,將為雙方帶來巨大的協同

如何讓RISC-V企業賺錢?賽昉科技展現全場景RISC-V解決方案
今年的RISC-V中國峰會,圓桌論壇的主題格外引人注目——如何讓RISC-V企業賺錢?賽昉科技給出的答案是“應用”。如果把RISC-V浪潮比

Ubuntu現已適配RISC-V單板計算機Milk-V Mars
近期,Canonical宣布優化的Ubuntu24.04鏡像已可用于RISC-V單板計算機Milk-VMars。Milk-VMars由深圳市群芯閃耀科技有限公司(Milk-V)設計并推出,搭載

開源套件免費申領!賽昉科技將攜RISC-V創新產品與方案亮相上海嵌入式展
。作為中國RISC-V軟硬件生態的領導者,賽昉科技將攜豐富的RISC-V產品與解決方案亮相此次大會,在展臺及論壇演講中分享RISC-V創新成

評論