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

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

3天内不再提示

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

D96C_HiHope 来源:未知 2023-03-13 10:05 次阅读

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

25750e0a-c142-11ed-bfe3-dac502259ad0.jpg

内容快照

2587e28c-c142-11ed-bfe3-dac502259ad0.png25930e64-c142-11ed-bfe3-dac502259ad0.png

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

259c7bf2-c142-11ed-bfe3-dac502259ad0.png

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

25a997e2-c142-11ed-bfe3-dac502259ad0.png

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

25bd5a5c-c142-11ed-bfe3-dac502259ad0.png

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

25d24962-c142-11ed-bfe3-dac502259ad0.png

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

26257146-c142-11ed-bfe3-dac502259ad0.png

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

技术干货

OpenHarmony系统移植详解

解耦设计思想

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

(1)ARCH部分的代码

(2)SoC部分的代码

(3)board级的代码

2587e28c-c142-11ed-bfe3-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相关的代码存放在kernelliteos_march文件夹中

267632c0-c142-11ed-bfe3-dac502259ad0.png

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

(2)SoC相关的代码位于:devicesoc

26839b2c-c142-11ed-bfe3-dac502259ad0.png

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

269cf1e4-c142-11ed-bfe3-dac502259ad0.png

(4)vendor相关代码

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

内容如下:

26a8951c-c142-11ed-bfe3-dac502259ad0.png

移植

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

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

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

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

移植流程如下:

26c90cc0-c142-11ed-bfe3-dac502259ad0.png

//1.SOC级别的移植

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

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

(1)板级驱动适配

(2)HAL层实现

(3)XTS测试套

(4)业务功能验证

26fc71e6-c142-11ed-bfe3-dac502259ad0.png

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

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

目录规范:

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

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

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

2708d03a-c142-11ed-bfe3-dac502259ad0.png

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

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

全新架构的适配,包括:

(1)MIPS ARCH代码实现

(2)1C300B SOC代码实现

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

移植过程中难点:

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

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

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

基于最新的3.2Beta3版本

代码后续全开源

移植过程中难点:

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

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

270f1756-c142-11ed-bfe3-dac502259ad0.png  

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

2729c178-c142-11ed-bfe3-dac502259ad0.jpg

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

更多适配案例详见OpenHarmony官方gitee主页

地址:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/Readme-CN.md

“以技术赋能开源共建,持续发挥生态引领作用”。润和软件将深入贯彻“2+N”行业战略(深耕金融、能源“2”大行业,广泛赋能智慧城市、医疗、教育、工业等“N”个行业),围绕行业场景落地不断夯实软硬件底座,推动应用创新,助力体验提升;吸引更多企业及个人开发者融入生态、参与共建,持续为OpenHarmony繁荣发展贡献力量。


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

文章出处:【微信公众号:HiHope社区】欢迎添加关注!文章转载请注明出处。


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

    关注

    57

    文章

    2372

    浏览量

    42911
  • HiHope
    +关注

    关注

    0

    文章

    63

    浏览量

    3554

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

文章出处:【微信号:HiHope,微信公众号:HiHope社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架构。而RISC-V目标就是“成为一种完全开放的指令集架构,可被任何学术机构或商业组织自由使用”。 RISC-V
    发表于 11-30 23:30

    OpenHarmony人才生态大会南向生态社区发展论坛在武汉圆满举办

    11月27日,OpenHarmony人才生态大会2024在武汉隆重举行。当日下午的 OpenHarmony南向生态社区发展论坛(以下简称“
    的头像 发表于 11-29 10:06 205次阅读
    <b class='flag-5'>OpenHarmony</b>人才<b class='flag-5'>生态</b>大会南向<b class='flag-5'>生态</b>社区发展<b class='flag-5'>论坛</b>在武汉圆满举办

    OpenHarmony人才生态大会南向生态社区发展论坛在武汉圆满举办

    体系与人才培养:多元路径,全面赋能 鸿湖万联(江苏)科技发展有限公司产融方案总经理、Laval社区首席开源教育专家安分享了OpenHarmony技术
    发表于 11-29 09:54

    触觉智能亮相OpenHarmony人才生态大会2024

    11月27日,OpenHarmony人才生态大会2024在武汉隆重举行,深圳触觉智能科技受邀参与,并在OpenHarmony南向生态社区发展论坛
    的头像 发表于 11-28 18:27 369次阅读
    触觉智能亮相<b class='flag-5'>OpenHarmony</b>人才<b class='flag-5'>生态</b>大会2024

    第三届OpenHarmony技术大会在上海成功举办

    时代构建分布式全场景协同的开源操作系统基座。 技术上,OpenHarmony具备“架构解耦、弹性扩展”“异构并行、全栈协同”“原生智能、场景体验”“原生安全、生态纯净”“极简开发、多端
    发表于 10-13 11:14

    指令集架构与微架构的区别

    指令集架构(Instruction Set Architecture,ISA)与微架构(Microarchitecture)是计算机体系结构中的两个重要概念,它们在处理器的设计和实现中扮演着不同的角色。以下是对两者区别的详细阐述
    的头像 发表于 10-05 15:10 609次阅读

    简述微处理器的指令集架构

    计算机硬件与软件的桥梁。指令集架构不仅决定了微处理器的性能和功能,还影响着操作系统的开发、应用程序的编写以及整个计算机生态系统的构建。以下是对微处理器指令集
    的头像 发表于 10-05 14:59 509次阅读

    RISC-V和arm指令集的对比分析

    差异使得它们在不同的应用场景中具有各自的优势和劣势。随着技术的不断发展和市场的不断变化,RISC-V和ARM指令集都将继续发挥其重要作用,并推动计算机指令集架构的不断发展。
    发表于 09-28 11:05

    开放原子开源生态大会OpenHarmony生态主题演讲报名开启

    展示OpenHarmony技术创新和产业落地成果,分享开源社区生态进展。 诚邀全球开源操作系统产业伙伴、技术大咖和学术专家,共同见证开源赋能产业的国际盛会! 扫描下方二维码报名
    发表于 09-19 22:02

    复杂指令集和精简指令集有什么区别

    的两种主要指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集架构的详细比较,涵盖设计理念、指令复杂性、寻址方式、实现方式、性能特
    的头像 发表于 08-22 11:00 3543次阅读

    微处理器的指令集架构介绍

    微处理器的指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中至关重要的部分,它定义了微处理器能够执行的操作和指令的集合,以及这些指令如何被
    的头像 发表于 08-22 10:53 1383次阅读

    CISC(复杂指令集)与RISC(精简指令集)的区别  

    RISC的指令集中指令数反超了CISC,因此,引用指令的复杂度而非数量来区 两种指令集。 当然,CISC也是要通过操作内存、寄存器、运算器来完成复杂
    发表于 07-30 17:21

    报名开启!第二届OpenHarmony开发者大会2024重磅来袭!

    OpenHarmony 开发者大会2024,为开发者、产业组织、生态伙伴和行业用户搭建一个交流、分享和学习的平台。大会以 OpenHarmony 4.1 Release版本根技术特性
    发表于 05-14 15:23

    OpenHarmony城市技术论坛第8期——厦门站圆满落幕

    协同”为主题,从车联网、文件系统、大数据存储、存储器设计、数据删减和游戏引擎适配等方面开展技术交流,为OpenHarmony在数据存储等研究领域的发展提供了宝贵的启发和思路。 本次技术论坛
    的头像 发表于 04-22 10:38 392次阅读
    <b class='flag-5'>OpenHarmony</b>城市<b class='flag-5'>技术论坛</b>第8期——厦门站圆满落幕

    嵌入式系统的概念与范围开发 指令集架构要怎么选才合适?

    想要搭建一套嵌入式系统,首先得确认想要采用的指令集架构(Instruction Set Architectures, ISA),各家的指令集架构各有其优缺点与拥护者,本文将为您大致介绍
    的头像 发表于 03-28 09:35 850次阅读
    嵌入式系统的概念与范围开发 <b class='flag-5'>指令集</b><b class='flag-5'>架构</b>要怎么选才合适?