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。

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

审核编辑 黄宇

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

    关注

    462

    文章

    53562

    浏览量

    459370
  • 开源
    +关注

    关注

    3

    文章

    4039

    浏览量

    45579
  • SIG
    SIG
    +关注

    关注

    0

    文章

    28

    浏览量

    14007
  • OpenHarmony
    +关注

    关注

    31

    文章

    3927

    浏览量

    20727
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    武汉芯源MCU的指令集架构是什么?有哪些特点?

    武汉芯源MCU的指令集架构是什么,有哪些特点?
    发表于 12-08 06:59

    指令集测试的一种纠错方法

    本文描述在进行指令集测试的一种纠错方法 1.打开测试指令集对应的dump文件 dump文件是指由汇编文件进行反汇编之后,可以供人阅读指令的反汇编文件。其包含了每一条指令的具体操作的信
    发表于 10-24 14:04

    无开发板在Linux系统下进行E203内核指令集测试以及跑分程序的测试

    完成浮点指令集之前,对微架构进行优化,比较有参考性的指令集测试是coremark和dhrystone跑分程序。跑分程序位于/riscv-tools/fpga_test4sim中。 与第二点的操作相似
    发表于 10-24 11:43

    risc-v P扩展(一) P指令集简介

    解码、医学成像、计算机视觉、嵌入式控制、机器人技术、人机界面等。 P指令集扩展提高了RISC-V CPU IP产品的DSP算法处理能力。随着RISC-V P指令集扩展的增加,RISC-Vcpu现在可以以
    发表于 10-23 07:40

    RVF单精度浮点指令集扩展介绍(2)

    RVF单精度浮点指令集扩展 RVF扩展了26条浮点指令。 浮点乘加指令 浮点比较、最大最小值、转移、符号注入、分类指令 浮点除、开方
    发表于 10-22 07:26

    指令集P扩展的主要内容

    1. 指令集P扩展的主要内容 新指令的添加,在蜂鸟E203原有指令集的基础上,可以添加一些新的指令,以满足新的应用需求;指令集扩展,在原有
    发表于 10-21 10:50

    基于蜂鸟E203架构指令集K扩展

    蜂鸟E203是一款基于RISC-V架构的微处理器,其指令集包含RV32I的基本指令集,RV32M的乘法扩展指令集,以及一些常用的定点指令和控
    发表于 10-21 09:38

    明晚开播 |开源芯片系列讲座28:高性能RISC-V微处理器芯片

    是一种开放(Open)指令集架构(ISA)标准。本报告探讨了RISC-V指令集架构标准区别于其它主流ISA的不同特点,以及这些特点对于国产微处理器
    的头像 发表于 07-29 17:02 1063次阅读
    明晚开播 |开源<b class='flag-5'>芯片</b>系列讲座<b class='flag-5'>第</b>28<b class='flag-5'>期</b>:高性能RISC-V微处理器<b class='flag-5'>芯片</b>

    直播预约 |开源芯片系列讲座28:高性能RISC-V微处理器芯片

    RISC-V是一种开放(Open)指令集架构(ISA)标准。本报告探讨了RISC-V指令集架构标准区别于其它主流ISA的不同特点,以及这些特点对于国产微处理器
    的头像 发表于 07-14 17:34 1004次阅读
    直播预约 |开源<b class='flag-5'>芯片</b>系列讲座<b class='flag-5'>第</b>28<b class='flag-5'>期</b>:高性能RISC-V微处理器<b class='flag-5'>芯片</b>

    RISC-V核低功耗MCU指令集架构(ISA)特点

    自由使用、修改底层指令集,降低芯片设计成本并加速定制化开发‌。 灵活扩展‌:支持基础指令集(如RV32I/RV64I)与可选扩展模块(如浮点运算、向量加速)的组合,开发者可根据低功耗需求裁剪冗余功能‌。 二、‌模块化与精简设计‌
    的头像 发表于 04-23 10:01 1051次阅读

    明晚开播 | 开源芯片系列讲座27:RISC-V AI指令集的标准化与开源实现

    鹭岛论坛开源芯片系列讲座27「RISC-VAI指令集的标准化与开源实现」明晚(26日)21:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目RISC-VAI
    的头像 发表于 03-25 08:12 628次阅读
    明晚开播 | 开源<b class='flag-5'>芯片</b>系列讲座<b class='flag-5'>第</b>27<b class='flag-5'>期</b>:RISC-V AI<b class='flag-5'>指令集</b>的标准化与开源实现

    直播预约 | 开源芯片系列讲座27:RISC-V AI指令集的标准化与开源实现

    鹭岛论坛开源芯片系列讲座27「RISC-VAI指令集的标准化与开源实现」3月26日(周三)21:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目RISC-VAI
    的头像 发表于 03-10 17:55 1153次阅读
    直播预约 | 开源<b class='flag-5'>芯片</b>系列讲座<b class='flag-5'>第</b>27<b class='flag-5'>期</b>:RISC-V AI<b class='flag-5'>指令集</b>的标准化与开源实现

    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架构及MRS开发环境回顾

    。RISC-V是一种特定指令集架构。RISC-V指令集类似于INTEL的X86、ARM指令集,是一个被CPU读取到内存后,指导计算机运行的指令集
    发表于 12-16 23:08