前事不忘,后事之师,不忘国耻!

SAP SYBASE论坛中文社区技术服务

 找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 95|回复: 0
收起左侧

OpenHarmony是开放原子开源基金会(OpenAtom Foundation)旗下开源项目,定位是一...

[复制链接]
ehxz 发表于 2020-9-15 08:52:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?站点注册

x
项目介绍
OpenHarmony是开放原子开源基金会(OpenAtom Foundation)旗下开源项目,定位是一款面向全场景的开源分布式操作系统。
OpenHarmony在传统的单设备系统能力的基础上,创造性地提出了基于同一套系统能力、适配多种终端形态的理念,支持多种终端设备上运行,第一个版本支持128K-128M设备上运行,欢迎参加开源社区一起持续演进。
针对设备开发者,OpenHarmony采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。可运行在百K级别的资源受限设备和穿戴类设备,也可运行在百M级别的智能家用摄像头/行车记录仪等相对资源丰富的设备。
详细特征[td]
系 统
    简 介       链 接   
JS应用开发框架
作为JS应用开发框架的轻量实现,提供一套跨平台的类web应用开发框架,通过Toolkit将开发者编写的HTML、CSS和JS 文件编译打包成JS Bundle,然后再将JS Bundle解析运行成C++ UIKit的View 组件进行渲染。通过支持三方开发者使用声明式的API进行应用开发,以数据驱动视图变化,避免了大量的视图操作,大大降低了应用开发难度,提升开发者开发体验。README
DFX
针对不同硬件架构和资源提供组件化且可定制的DFX框架。根据RISC-V、Cortex-M、Cortex-A不同硬件平台,提供两种不同的轻量级DFX框架。README
XTS认证
XTS是OpenHarmony生态认证测试套件的**,当前包括acts(application compatibility test suite)应用兼容性测试套,后续会拓展dcts(device compatibility test suite)设备兼容性测试套等。README
全球化
全球化资源管理子系统主要提供语言资源回溯和多偏好语言支持的能力,包括多语言资源回溯和多偏好语言支持。README
公共基础
公共基础库存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。README
内核
OpenHarmony内核是面向IoT领域的实时操作系统内核,它具备类似RTOS般轻快和Linux般易用的特点。包括功能组件部分:进程和线程调度、内存管理、IPC机制、timer管理等操作系统基础组件。README
分布式任务调度
分布式任务调度模块负责跨设备组件管理,提供访问和控制远程组件的能力,支持分布式场景下的应用协同。README
分布式通信
实现近场设备间统一的分布式通信能力管理,提供不区分链路的设备发现和传输接口。包含服务发布、数据传输、安全等功能README
启动恢复
启动恢复负责在内核启动之后,应用启动之前的操作系统中间层的启动。支持使用LiteOS-A内核的平台,当前包括:Hi3516DV300平台和Hi3518EV300平台。README
图形
主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS的应用框架,满足硬件资源较小的物联网设备的OpenHarmony系统应用开发。README
媒体
为多媒体应用开发者开发者提供统一的开发接口,使得开发者可以专注于应用业务的开发,轻松使用多媒体的资源。README
安全
主要提供样例给开发者展示如何去使用已有的安全机制来提升系统的安全能力,包括安全启动、应用权限管理、IPC通信鉴权、HUKS、HiChain、应用签名验签。README
测试
开发过程采用测试驱动开发模式,开发者基于系统新增特性可以通过开发者自己开发用例保证,对于系统已有特性的修改,也可通过修改项目中原有自测试用例保证,旨在帮助开发者在开发阶段就能开发出高质量代码。README
用户程序框架
包含两个模块:Ability子系统和包管理子系统。Ability子系统,是OpenHarmony为开发者提供的一套开发OpenHarmony应用的开发框架。包管理子系统,是OpenHarmony为开发者提供的安装包管理框架。README
系统服务框架
由于平台资源有限,且硬件平台多样,因此需要屏蔽不同硬件架构和资源的不同、以及运行形态的不同,提供统一化的系统服务开发框架。根据RISC-V、Cortex-M、Cortex-A不同硬件平台,分为两种平硬件平台,简称M核、A核。README
编译构建
编译构建提供了一个在GN与ninja基础上的编译构建框架。支持以下功能:1.构建不同芯片平台的产品。如:Hi3518EV300平台的ipcamera产品,Hi3516DV300平台的ipcamera产品,Hi3861平台的wifi模组产品。2.构建HPM包管理配置生成的自定义产品。README
驱动
OpenHarmony驱动子系统采用C面向对象编程模型构建,通过平台解耦、内核解耦,兼容不同内核,提供了归一化的驱动平台底座,旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。README
快速入门[td]
开发板类型简述  链 接  
Hi3861开发板 Hi3861 WLAN模组是一片大约2cm*5cm大小的开发板,是一款高度集成的2.4GHz WLAN SoC芯片,集成IEEE 802.11b/g/n基带和RF(Radio Frequency)电路。支持OpenHarmony/Huawei LiteOS和第三方组件。快速入门
Hi3516开发板 Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP、业界最新的H.265视频压缩编码器,同时集成高性能NNIE引擎。快速入门
Hi3518开发板 Hi3518EV300作为新一代智慧视觉处理SOC,集成新一代ISP(Image Signal Processor)以及业界最新的H.265视频压缩编码器。快速入门
源码下载
获取OpenHarmony源码:下载说明
如何参与
参与社区:社区介绍链接
参与贡献:如何贡献链接
联系方式
------------------------
源码获取OpenHarmony介绍
OpenHarmony是HarmonyOS的开源版,由华为捐赠给开放原子开源基金会(OpenAtom Foundation)开源。第一个开源版本支持在128KB~128MB设备上运行,欢迎参加开源社区一起持续演进。
代码仓库地址:https://openharmony.gitee.com
源码获取概述
本文档将介绍如何获取OpenHarmony源码并说明OpenHarmony的源码目录结构。OpenHarmony的代码以组件的形式开放,开发者可以通过如下其中一种方式获取:
  • 获取方式1:从镜像站点下载压缩文件(推荐)
  • 获取方式2:从hpm网站组件式获取。通过HPM,查找满足需求的解决方案,挑选/裁剪组件后下载。
  • 获取方式3:用包管理器命令行工具获取。通过HPM的hpm-cli命令行工具,执行命令下载。
  • 获取方式4:从代码仓库获取。通过repo或git工具从代码仓库中下载。
获取方式1:从镜像站点获取
为了获得更好的下载性能,您可以选择从以下站点的镜像库获取源码或者对应的解决方案。
表 1 源码获取路径

[td]
下载内容
版本信息
下载站点
SHA256校验码
OpenHarmony全量代码
1.0
Hi3861解决方案(二进制)
1.0
Hi3518解决方案(二进制)
1.0
Hi3516解决方案(二进制)
1.0
RELEASE-NOTES
1.0
-
获取方式2:从hpm网站组件式获取适用场景
对于刚接触OpenHarmony的新用户,希望能够参考一些示例解决方案从而进行快速开发。可以在HPM获取推荐的解决方案,以此为基础,增加或裁剪部分组件,快速定制系统。
操作步骤
  • 查找合适的解决方案组件包。

    • 打开包管理页面HPM,设定搜索的对象为“解决方案“,如下图所示。
    • 自搜索框输入关键字搜索,如"camera"。
    • 结果中显示匹配的解决方案,可以进一步根据组件类别等过滤条件(如:适配的开发板,内核)精确筛选。
    • 查找合适的解决方案,点击查看解决方案详情介绍。
      图 1 包管理

  • 定制解决方案组件包。

    • 仔细阅读解决方案的说明,以了解该解决方案的使用场景、特性、使用方法以及如何进行定制化,如下图所示。
    • 点击「直接下载」,将解决方案下载到本地。
    • 点击「定制组件」,将对解决方案包含的组件进行定制。
    图 2 解决方案示例
  • 定制组件。

    • 进入解决方案定制页面,如下图所示。
    • 通过关闭开关移除可选组件,或者通过“添加组件”增加新的组件。
    • 在右边填写您的项目基本信息,包括名称、版本、描述等信息。
    • 点击“下载“,系统会根据您的选择,生成相应的OpenHarmony代码结构文件(如name.zip),保存至本地文件。
      • 下载的压缩文件并未包含源代码的原始文件,可以在IDE中导入下载的压缩包,解压后执行hpm的安装指令(hpm install),才会将所需要的组件全部下载下来。
      • 下载的组件存在工程目录下的ohos_bundles文件夹中。
        图 3 组件定制



获取方式3:用包管理器命令行获取适用场景
  • 用户已通过组件式获取的方式获取源码,需要对源码中的某个或某几个组件进行独立升级。
  • 用户已经比较熟悉OpenHarmony系统的开发并且熟练掌握命令行工具的使用。
准备
通过命令行获取,需要先安装Node.js和hpm命令行工具,安装步骤如下:
  • 安装Node.js。
    官网下载并在本地安装Node.js.
    推荐安装 Node.js 12.x (包含 npm 6.14.4)或更高版本 (推荐 12.13.0+)。
  • 通过Node.js自带的npm安装hpm命令行工具。
    打开CMD,执行以下命令:
    npm install -g @ohos/hpm-cli
  • 安装完成后执行如下命令,显示hpm版本,即安装成功。
    hpm -V 或 hpm --version
  • 如果升级hpm的版本,请执行如下命令:
    npm update -g @ohos/hpm-cli
操作
接下来将组件添加到开发项目中,假定要获取的组件名为@ohos/demo,具体操作如下:
获取方式4:从代码仓库获取适用场景
  • 基于OpenHarmony的稳定分支建立自己的基线,分发下游客户。
  • 已经完成自身软件与OpenHarmony的对接,需要进行OpenHarmony官方认证。
  • 芯片/模组/app通过OpenHarmony官方认证后,贡献代码到OpenHarmony生态。
  • 修复OpenHarmony的问题。
  • 学习OpenHarmony的源码。

准备操作
方式一(推荐):通过repo下载
repo init -u https://gitee.com/openharmony/manifest.git -b masterrepo sync -c

方式二:通过git clone单个代码仓库
git clone https://gitee.com/openharmony/manifest.git -b master

源码目录简介
下表是OpenHarmony源码的目录及简单说明:
表 2 源码目录的说明

[td]
目录名
描述
applications
应用程序样例,包括wifi-iot,camera等
base
基础软件服务子系统集&硬件服务子系统集
build
组件化编译、构建和配置脚本
domains
增强软件服务子系统集
drivers
驱动子系统
foundation
系统基础能力子系统集
kernel
内核子系统
prebuilts
编译器及工具链子系统
test
测试子系统
third_party
开源第三方组件
utils
常用的工具集
vendor
厂商提供的软件
build.py
编译脚本文件

你不共享给别人,谁会共享给你?
SYBASE论坛欢迎您能交换更多好的信息,资料,代码……
富强,民主,文明,和谐;自由,平等,公正,法治;爱国,敬业,诚信,友善!
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

QQ|Archiver|手机版|SYBASE论坛中文社区 ( 鲁ICP备20019049号-5 )

GMT+8, 2020-9-29 21:07 , Processed in 0.017996 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表