本文来源电子发烧友社区,作者: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文章
2383浏览量
47134 -
赛昉科技
+关注
关注
3文章
162浏览量
14423
发布评论请先 登录
相关推荐
赛昉科技RISC-V家庭云解决方案:NAS存储性能升级,隐私安全双保障
(VisionFive2)单板计算机,推出全新RISC-V家庭云(NAS)解决方案,为用户提供高性能、高安全性的私有云存储服务,满足家庭及轻量级企业场景需求。方案亮点01高性能硬件支持

首届RISC-V产业发展大会成功举办,赛昉携手产业伙伴共绘RISC-V新蓝图
12月28日,由中国电子工业标准化技术协会RISC-V工作委员会(以下简称“RISC-V工作委员会”)主办的首届“RISC-V产业发展大会”在北京成功举办。作为推动RISC-V生态发展

预售启动!昉·星光 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创新成

信用卡大小的 RISC-V 单板计算机介绍
信用卡大小的 RISC-V 单板计算机 —— Mars
Mars 由深圳市群芯闪耀科技有限公司(Milk-V)设计并推出,搭载赛昉科技
发表于 04-12 16:39
赛昉科技与超聚变达成战略合作,RISC-V在数据中心迎来历史性跨越
3月22日,广东赛昉科技有限公司(赛昉科技)与超聚变数字技术有限公司(超聚变)战略合作签约仪式隆重举办。双方就数据中心场景下的RISC-V产

评论