0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【OpenHarmony技术峰会】生态与互联分论坛 | 连志安:指令集架构适配OpenHarmony

HiHope社区官方号 2023-03-15 10:36 次阅读

在2月25日刚刚圆满闭幕的首届开放原子开源基金会OpenHarmony技术峰会(2023)生态与互联分论坛上,润和软件旗下子公司江苏润开鸿数字科技有限公司(简称:润开鸿)生态技术总监连志安发表了题为《OpenHarmony生态共建——多种指令集架构芯片适配》的主题演讲,详细解读了指令集架构适配OpenHarmony的技术发展路线。

1e8a0b66-c2d4-11ed-ad0d-dac502259ad0.jpg

内容快照

1eb12aac-c2d4-11ed-ad0d-dac502259ad0.png1ecd3d32-c2d4-11ed-ad0d-dac502259ad0.png

硬件生态是整个OpenHarmony的基石,有了更多的指令集支持、更多的芯片支持、更多的开发板、更多的设备才能带来更多的用户,从而实现整个生态的繁荣发展。

1eef47e2-c2d4-11ed-ad0d-dac502259ad0.png

截至峰会启幕,已通过OpenHarmony兼容性测评的商用设备和开发板均达到100+款,适配支持的芯片平台已有40多款,指令集架构已覆盖ARMRISC-V、MIPS、LoongArch等主流架构。

1ef6fc62-c2d4-11ed-ad0d-dac502259ad0.png

OpenHarmony芯片生态作战地图:分为芯片指令集、芯片架构、芯片厂家、开发板、驱动框架、驱动外设等。

1f12bdc6-c2d4-11ed-ad0d-dac502259ad0.png

在OpenHarmony生态委员会的指导下,已成立芯片&开发板工作组,润和软件作为组长单位,牵头制定了OpenHarmony芯片适配标准以及OpenHarmony芯片适配规划路标,与各生态伙伴/厂商携手共拓OpenHarmony南向生态,为硬件开发各环节上的伙伴企业进行技术赋能与支持。

1f3f873e-c2d4-11ed-ad0d-dac502259ad0.png

作为Dev-Board-SIG组长单位,润和软件组织输出《OpenHarmony富设备/瘦设备核心板规范》,持续引领ARM、RISC-V、LoongArch等丰富的指令集架构适配,为基于OpenHarmony的应用开发提供丰富多样硬件设备承载,当前在社区中已发布的OpenHarmony开发板已达40+款。

1f85328e-c2d4-11ed-ad0d-dac502259ad0.png

基于已适配芯片设计研发的OpenHarmony商用设备已覆盖多个主流行业,商业生态繁荣度初显。

技术干货

OpenHarmony系统移植详解

解耦设计思想

OpenHarmony系统的移植部分的代码解耦做得非常好。从代码的设计理念上来看,移植主要是三部分的内容:

(1)ARCH部分的代码

(2)SoC部分的代码

(3)board级的代码

1eb12aac-c2d4-11ed-ad0d-dac502259ad0.png

ARCH也就是架构,例如ARM架构、RISC-V架构等。

SoC是具体芯片,例如STM32海思等,一个架构可以有多个芯片。

Board是具体开发板,例如3861有润和的开发板、也有小熊派的开发板。

通常来说,相关架构的不同SoC,应该是共用一套ARCH代码,不需要为每个SoC都重新写一遍ARCH代码,可以增加代码的复用。

相同SoC的不同board开发板,也应该共用一套SoC代码即可,板卡之间的代码差异应该放到board中。

基于如上设计,我们移植的类型可以分为三部分:

(1)ARCH移植:全新的架构级别的移植

(2)SoC移植:已支持的架构做SoC级别的移植

(3)board级别的移植:只针对开发板做少量移植

移植的难度也是ARCH最难,SoC较难、board较简单。

//相关代码

(1)ARCH相关代码

ARCH相关的代码存放在kernel\liteos_m\arch文件夹中

1fc65d7c-c2d4-11ed-ad0d-dac502259ad0.png

可以看到目前已支持的架构有ARM(M3、M4、M33、M7、ARM9)、csky、risc-v、xtensa。

(2)SoC相关的代码位于:device\soc

1fcd493e-c2d4-11ed-ad0d-dac502259ad0.png

(3)board相关的代码位于:device/board

1fe84c84-c2d4-11ed-ad0d-dac502259ad0.png

(4)vendor相关代码

除了以上代码之外,还有厂商配置相关代码,这一部分主要是用于编译系统、HDF配置等,路径为:vendor

内容如下:

201ea126-c2d4-11ed-ad0d-dac502259ad0.png

移植

确定移植的系统类型:L0、L1、L2,需要移植哪些部分,整体可以分为三大类移植

(1)ARCH级别的移植:全新的架构级别的移植

(2)SOC级别的移植:已支持的架构做SoC级别的移植

(3)Board级别的移植:只针对开发板做少量移植适配

移植流程如下:

2042b80e-c2d4-11ed-ad0d-dac502259ad0.png

//1.SOC级别的移植

如果所选主板的芯片架构已经在OpenHarmony的ARCH中已有,则只需要移植BSP即可。

BSP系统移植包含以下几步操作:

(1)板级驱动适配

(2)HAL层实现

(3)XTS测试套

(4)业务功能验证

2054bf68-c2d4-11ed-ad0d-dac502259ad0.png

//2.轻量系统ARCH级别的移植

对于轻量系统现在不支持的架构的芯片,则需要移植ARCH。

目录规范:

liteos-m中主要分为ARCH、Components、Kernel、Utils等模块。

硬件相关的代码放在arch目录中,其余为硬件无关的代码。

arch/include 目录定义通用的文件以及函数列表,该目录下的所有函数在新增arch组件时都需要适配,详见每一个头文件

2091901e-c2d4-11ed-ad0d-dac502259ad0.png

//3.案例-MIPS架构适配轻量系统

实现基于MIPS架构的芯片适配轻量系统

全新架构的适配,包括:

(1)MIPS ARCH代码实现

(2)1C300B SOC代码实现

(3)智龙开发板相关功能

移植过程中难点:

任务上下文切换:涉及MIPS 汇编代码

//4.轻量系统ARCH级别的移植

实现基于LoongArch架构的芯片适配小型系统

基于最新的3.2Beta3版本

代码后续全开源

移植过程中难点:

(1)LoongArch是一个全新的架构

(2)小型系统代码存在芯片、架构耦合

209c79c0-c2d4-11ed-ad0d-dac502259ad0.png

基于LoongArch龙芯架构的新品发布

20b970de-c2d4-11ed-ad0d-dac502259ad0.jpg

此次OpenHarmony技术峰会上,润和软件发布了HH-SCDAYU400、HH-SCDAYU401、HH-SCDAYU410三款基于LoongArch龙芯架构的OpenHarmony开发平台

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47894

    浏览量

    409968
  • OpenHarmony
    +关注

    关注

    23

    文章

    3353

    浏览量

    15184
收藏 人收藏

    评论

    相关推荐

    OpenHarmony Meetup 2023北京站圆满举办

    OpenHarmony 应用实践》的主题分享,他提到:“RISC-V 指令集架构OpenHarmony 操作系统凭借技术设计的先进性
    发表于 11-29 09:51

    上海站报名启动! 2023年开源产业生态大会OpenHarmony生态论坛

    联合体共同指导,上海开源信息技术协会统筹主办。 届时,大会将携手OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群生态委员会举办
    发表于 11-24 14:55

    OpenHarmony技术大会 | 应用(北向)生态论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | 应用(北向)
    的头像 发表于 11-14 15:10 142次阅读

    陈海波:OpenHarmony技术领先,产学研深度协同,生态蓬勃发展

    题为《OpenHarmony技术领先筑生态,万物智联赢未来》的主题演讲。他围绕万物智联趋势,分享OpenHarmony四大技术
    发表于 11-06 14:35

    技术生态 智联赢未来,第二届OpenHarmony技术大会圆满举行

    行业权威大咖、技术专家及高校技术导师,与众多业界开发者齐聚一堂,通过1个主论坛、8个论坛、70+议题的探讨,分享
    发表于 11-04 14:59

    技术生态,智联赢未来 第二届OpenHarmony技术大会即将在京启幕

    及开发框架论坛、开发者工具论坛、应用(北向)生态论坛
    发表于 10-31 11:27

    限量门票!第二届开放原子开源基金会OpenHarmony技术峰会报名开启~

    ,与参会者共同打造开源领域国际盛会! 峰会将开设主论坛、八大开源领域论坛、开源展览以及圆桌会议等环节。同时,OpenHarmony
    发表于 10-20 14:18

    报名开启!第二届开放原子开源基金会OpenHarmony技术峰会来啦~

    展示OpenHarmony操作系统的技术革新和阶段性成果,分享当前开放生态布局进展,与参会者共同打造开源领域国际盛会! 峰会将开设主论坛、八
    发表于 10-20 12:06

    Qt For OpenHarmony

    专家角色,负责图形框架研究院的技术管理工作。 内容来源 第一届开放原子开源基金会OpenHarmony技术峰会——生态
    发表于 09-15 15:39

    峰会回顾第31期 | OpenHarmony生态共建:多种指令集架构芯片适配

    演讲嘉宾 | 连志安 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾简介 连志安,江苏润开鸿数字科技有限公司生态技术总监、OpenHarmony龙芯架构SIG组长、《物联网——嵌
    的头像 发表于 09-15 08:41 791次阅读
    <b class='flag-5'>峰会</b>回顾第31期 | <b class='flag-5'>OpenHarmony</b><b class='flag-5'>生态</b>共建:多种<b class='flag-5'>指令集</b><b class='flag-5'>架构</b>芯片<b class='flag-5'>适配</b>

    开源机密计算平台:蓬莱-OpenHarmony

    OpenHarmony技术峰会——安全及机密计算论坛 ​ 正 文 内 容 OpenHarmony
    发表于 09-07 16:08

    开源图形驱动在OpenHarmony上的使用和落地

    职务。 内容来源 第一届开放原子开源基金会OpenHarmony技术峰会——OS内核及视窗论坛 ​ 正 文 内 容 图形驱动也是一种软件程
    发表于 08-31 18:07

    OpenHarmony Meetup 2023 广州站圆满举办,城市巡回全面启航

    OpenHarmony版本演进、技术架构技术创新点,同时分享了当前OpenHarmony已经落地金融、教育、医疗、交通等多个行业的成果,
    发表于 08-30 17:57

    基于分级安全的OpenHarmony架构设计

    基金会OpenHarmony技术峰会——安全及机密计算论坛 正 文 内 容 OpenHarmony
    发表于 08-04 10:39

    开放原子开源基金会OpenHarmony开发者大会2023演讲资料汇总

    适配OpanHarmony实践.pdf 硬件生态论坛 *附件:1_MIPS指令集OpenHarmon
    发表于 05-29 16:34