本文来源电子发烧友社区,作者: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
+关注
关注
49文章
2948浏览量
53552 -
赛昉科技
+关注
关注
3文章
183浏览量
15598
发布评论请先 登录
相关推荐
热点推荐
昉·星光开发板使用基础和GPIO点灯
电脑连接到昉·星光开发板进行操作和编程。昉·星光开发板也支持通过HDMI连接到显示器进行操作,但本课程的内容,主要为通过电脑进行远程操作。
三、了解
发表于 03-26 07:51
RISC-V实现数据中心应用突破,赛昉科技BMC芯片重磅亮相
电子发烧友原创 章鹰 近期,在珠海举办的RISC-V产业大会上,赛昉科技展示了面向数据中心、边缘计算及智能终端的全栈产品与成熟应用,其中一款产品引起了记者的注意,这款BMC芯片在11月
2025 RISC-V产业发展大会 | 赛昉科技全景展示规模化商用成果
2025年11月24日,RISC-V产业发展大会在珠海开幕。赛昉科技以“推动RISC-V规模化商用”为核心主题,重点展示了面向数据中心、边缘计算
贸泽电子开售全新Arduino UNO Q单板计算机
贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)将高性能计算与实时控制结合,提供理想的创新平台。
【作品合集】赛昉科技VisionFive 2单板计算机开发板测评
赛昉科技VisionFive 2单板计算机开发板测评作品合集
产品介绍:
昉·星光 2是全球首款集成了3D GPU的高性能量产
发表于 09-04 09:08
5 款 RISC-V 单板计算机测试:性能、基准测试、特性及见解
倘若计算的未来并非被专有架构所垄断,那会怎样?想象一下这样一个世界:开发者和业余爱好者都能利用开源硬件的力量自由地构建、创新和实验。现在,让我们走进RISC-V单板计算机(SBC)的世界——一个正在
赛昉科技入驻RuyiSDK开发者社区,双平台协同推进RISC-V生态
赛昉科技(StarFive)正式入驻RuyiSDK开发者社区,携手推动RISC-V技术创新。后续,赛昉科技的技术突破与生态进展将同步在RVs
赛昉科技徐滔:以精准场景牵引,RISC-V抢滩数据中心百万颗市场
7月16-19日,第五届RISC-V中国峰会在上海张江科学会堂成功举办。国内领先的RISC-V厂商赛昉科技携多款重磅产品亮相,集中展示自研创新技术和成果。峰会期间,
赛昉科技联合合见工软实现国产一致性NoC IP与RISC-V核在大规模网络中的适配
2025年7月24日——中国RISC-V软硬件生态领导者赛昉科技与中国数字EDA/IP龙头企业上海合见工业软件集团有限公司(简称“合见工软”)共同宣布双方的突破性技术合作成果。赛
“核心技术突破+关键应用支撑”,赛昉加速RISC-V生态突围
核心技术护城河1.首款适配RISC-V核的国产一致性NoCIP——StarNoC-700在高性能计算分论坛上,赛昉科技IP产品线总经理周杰宣布,公司自主研发的大规模一
【VisionFive 2单板计算机试用体验】VisionFive 2一个霸气的游戏机
单板计算机,搭载昉·惊鸿-7110(型号:JH-7110)RISC-V应用处理器,拥有极强的计算能力和图形处理能力。开源的昉·
发表于 07-13 20:41
【VisionFive 2单板计算机试用体验】RISC-V架构卡片计算机初体验
2h........无奈)
参考文献:
全球首款集成3D GPU的高性能量产RISC-V 单板计算机,昉·星光 2 开发实践![全球首款集成3D GPU的高性能量产
发表于 07-06 23:28
权威评测:Orange Pi RV2等5 款 RISC-V 单板计算机测试-性能、基准测试、功能和见解
的生态系统正在挑战ARM和x86平台的主导地位。RISC-V单板计算机采用模块化设计,软件支持不断增加,并承诺提供定制服务,正吸引着各地技术爱好者的目光。但它们在实际
【VisionFive 2单板计算机试用体验】 + 开箱体验
在x86与ARM架构主导的单板计算机市场,中国团队打造的VisionFive 2(防星光2)如同一颗新星,凭借开源开放的RISC-V架构和成熟的桌面体验,为开发者与极客提供了全新的选择。经过
发表于 06-27 09:06
【赛昉科技昉·星光RISC-V单板计算机试用体验】嵌入式系统开机流程(结合ohos)
评论