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

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

3天内不再提示

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

OpenHarmony TSC 来源:OpenHarmony TSC 作者:OpenHarmony TSC 2023-09-15 08:41 次阅读

演讲嘉宾 | 连志安

回顾整理 | 廖 涛

排版校对 | 李萍萍

7b7ce2f4-5360-11ee-bb52-92fbcf53809c.png

嘉宾简介

连志安,江苏润开鸿数字科技有限公司生态技术总监、OpenHarmony龙芯架构SIG组长、《物联网——嵌入式开发实战》作者、华为技术开发专家认证(HDE)、广鸿会创始人、龙芯俱乐部OpenHarmony首席专家。研究领域为:操作系统嵌入式、物联网、OpenHarmony、内核技术等。 技术经历:最早一批OpenHarmony开发者,一直热衷于OpenHarmony社区布道,为开发者答疑解惑,相关文章累计阅读量超过400万;最早移植MQTT,OneNET等三方组件并开源,移植OpenHarmony到龙芯1C300芯片,2K0500、GD32STM32等芯片;主导成立OpenHarmony龙芯SIG,推动南向芯片生态的建设。

内容来源

第一届开放原子开源基金会OpenHarmony技术峰会——生态与互联分论坛

视频回顾

打开 哔哩哔哩APP 搜索 OpenHarmony-TSC 视频更清晰

正 文 内 容

基于OpenHarmony行业发行版的芯片适配是点亮亿级行业设备的关键一环,如何进行芯片适配,如何基于芯片拓展OpenHarmony硬件生态?江苏润开鸿数字科技有限公司生态技术总监、OpenHarmony LoongArch SIG组长连志安在第一届OpenHarmony技术峰会上分享了几点思路。

7bb27b9e-5360-11ee-bb52-92fbcf53809c.png

01►

架构设计

耦合,也就是各模块之间存在依赖关系。解耦,能够降低模块之间的依赖关系,把关系密切的功能放在同一个模块中,尽量不暴露模块内部的细节给其他模块,让各个模块的设计更加独立,而模块之间的关联更加清晰。一般而言,解耦后模块设计复杂度更低,鲁棒性更高,IP能力(可复用性和可移植性)更强。同时,基于解耦的思想,会让芯片适配的工作量大大降低。

OpenHarmony的架构设计基于解耦的思想:按照硬件将层次划分为芯片架构层、片上系统层和单板层,代码设计采用Board和SoC、Arch(架构)。

7c1eaada-5360-11ee-bb52-92fbcf53809c.png

基于解耦思想,代码目录结构可以相应设计为:board(存放开发板相关代码)、soc(存放soc芯片相关代码)、kernel(存放内核代码)、liteos_m(存放LiteOS-M内核代码)、arch(存放ARCH相关代码)以及vendor(存放厂商相关配置)。

02►

芯片适配

操作系统移植之前,首先需要确定移植的系统类型:OpenHarmony分为L0、L1、L2的3个级别,对应的,移植的系统类型也主要有以下3个:ARCH级别的移植(全新的架构级别的移植)、SOC级别的移植(已支持的架构做SoC级别的移植)、Board级别的移植(只针对开发板做少量移植适配)。

移植的主要步骤可以概括为:(1)移植准备:搭建编译环境,获取源码,并搭建编译框架;(2)移植内核:移植芯片架构,移植芯片厂商SDK,并添加内核子系统;(3)移植子系统:移植启动、文件、安全、通信、外设驱动以及其他子系统;(4)移植验证:进行OpenHarmony兼容性测试和厂商SDK功能性测试。

其中,SOC级别的移植:如果所选主板的芯片架构在OpenHarmony的ARCH中已有,则只需要移植BSP即可。BSP系统移植主要包含板级驱动适配、HAL层实现、XTS测试套以及业务功能验证4个操作。

7c3b8b0a-5360-11ee-bb52-92fbcf53809c.png

ARCH级别的移植:对于轻量系统现在不支持架构的芯片,则需要移植ARCH。ARCH系统移植主要包含芯片初始化、任务调度、终端管理、MPU移植以及系统定时器设置等。在ARCH级别的移植中,liteos-m中主要分为ARCH、Components、Kernel、Utils等模块,硬件相关的代码放在arch目录中,其余为硬件无关的代码。

7c570308-5360-11ee-bb52-92fbcf53809c.png

适配案例可参考OpenHarmony官方gitee主页:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/Readme-CN.md

03►

硬件生态

硬件生态是整个OpenHarmony基石。要做到生态的繁荣,首先需要支持足够多的设备和更多的用户参与。用户的需求可能是千差万别的,OpenHarmony需要支持更多的适配,包括支持更多的指令集、支持更多的芯片、提供更多的开发板以及提供更多的设备等。

7c8115f8-5360-11ee-bb52-92fbcf53809c.png

截止至2023年2月,已经有包括轻量系统、小型系统以及标准系统在内的80+商用设备、40+开发板以及40+芯片通过了兼容性测评。同时,在轻量系统方面,OpenHarmony支持的主流架构包括ARMRISC-V、MIPS、csky、xtensa等,计划适配LoongArch;在小型系统方面,OpenHarmony支持的主流架构包括ARM、MIPS以及LoongArch;在标准系统方面,OpenHarmony支持的主流架构包括ARM、RISC-V等,计划适配X86和LoongArch。

在硬件生态中,芯片生态是关键一环。如下芯片生态作战地图所示,芯片生态涵盖了驱动框架、开发板、驱动外设、芯片厂商、编译构建、芯片指令集以及芯片架构等领域,需要适配更多驱动框架,建立开发板标准,支持更多驱动外设,吸引更多的芯片厂商,并优化和改进编译构建、芯片指令集以及芯片架构等,以此促进芯片生态发展。

7cabc9ec-5360-11ee-bb52-92fbcf53809c.png

在OpenHarmony生态委员会的指导下,已经成立了芯片&开发板工作组,旨在制定OpenHarmony芯片适配标准,制定OpenHarmony芯片适配规划路标、积极与各厂商进行洽谈合作,拓展南向生态,为南向生态中各环节企业提供技术赋能和技术支持。此外,OpenHarmony也成立了OpenHarmony Dev-Board-SIG,旨在组织输出《OpenHarmony富设备/瘦设备核心板规范》,并支持包括润和、软通、深开鸿、九联等在内的多家厂商共计发布的40+款社区OpenHarmony开发板。

7cbf47b0-5360-11ee-bb52-92fbcf53809c.png

目前,基于已适配芯片的OpenHarmony商业产品已覆盖多个主流行业。如教育行业实现了应用开发实验箱、电子学生证以及教育AI主机等;金融行业实现了扫码支付终端、电子签名柜、云音响、智能收款音响以及无线POS终端等;智能家居行业实现了破壁机、加湿器、取暖器、蒸箱、冰箱以及净水器等;交通行业实现了枪机摄像头、交流控制器等;数字政务行业实现了智能零钱宝、智行电子哨兵、广告机以及商务平板等;工业实现了边缘计算小站、智能网关、可燃气体探测器以及ZigBee网关等。OpenHarmony商业产品正在快速迭代,将更广泛、更高效、更高质量的赋能各行各业。

OpenHarmony旨在面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。在硬件方面,后续OpenHarmony将支持更多主流芯片,促进硬件生态繁荣。

E N D

点击下方阅读原文获取演讲PPT。

关注我们,获取更多精彩。

审核编辑 黄宇

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

    关注

    456

    文章

    50950

    浏览量

    424725
  • 开源
    +关注

    关注

    3

    文章

    3370

    浏览量

    42573
  • SIG
    SIG
    +关注

    关注

    0

    文章

    23

    浏览量

    13625
  • OpenHarmony
    +关注

    关注

    25

    文章

    3728

    浏览量

    16399
收藏 人收藏

    评论

    相关推荐

    TMS320C54x DSP代数指令集参考,3卷

    电子发烧友网站提供《TMS320C54x DSP代数指令集参考,3卷.pdf》资料免费下载
    发表于 12-30 16:46 0次下载
    TMS320C54x DSP代数<b class='flag-5'>指令集</b>参考<b class='flag-5'>集</b>,<b class='flag-5'>第</b>3卷

    TMS320C54x DSP助记指令集参考2卷

    电子发烧友网站提供《TMS320C54x DSP助记指令集参考2卷.pdf》资料免费下载
    发表于 12-24 16:58 0次下载
    TMS320C54x DSP助记<b class='flag-5'>指令集</b>参考<b class='flag-5'>集</b><b class='flag-5'>第</b>2卷

    RISC-V指令集概述

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

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

    ,深度分享OpenHarmony硬件生态与人才建设经验,为其发展指明方向。 OpenHarmony项目群工作委员会执行总监陶铭致辞表示,呼吁开发者共建
    发表于 11-29 09:54

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

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

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

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

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

    RISC-V和ARM指令集是两种不同的计算机指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集的详细对比分析: 一、设计理念 RISC-V :RISC-V的设计理念是简化
    发表于 09-28 11:05

    RISC-V指令集的特点总结

    :RISC-V 保持了 RISC(Reduced Instruction Set Computer)架构的核心原则,即提供一个简洁的指令集,使得芯片设计更为简单、高效。 优势:简洁的设计有助于降低硬件
    发表于 08-30 22:05

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

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

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

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

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

    Instruction Set Computers,复杂指令集计算)和RISC(Reduced Instruction Set Computers)是两大类 主流的CPU指令集类型,其中CISC以Intel,AMD
    发表于 07-30 17:21

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

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

    什么是RISC-V?RISC-V指令集的优势

    CPU 支持的所有指令指令的字节级编码就是这个 CPU 的指令集架构(Instruction Set Architecture,ISA),指令集
    发表于 03-05 10:31 883次阅读
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的优势

    【RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集

    的目标文件。 扩展指令集 RISC-V除了基本指令集外,还支持多种扩展指令集,例如RV32M(乘法和除法指令),RV32F和RV32D(单精
    发表于 02-03 13:29

    【RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令指令格式。主要包含寄存器间操作的R型,
    发表于 01-31 21:10