OpenHarmony快速入门概述
OpenHarmony是一款面向全场景的开源分布式操作系统,采用组件化设计,支持在128KiB到xGiB RAM资源的设备上运行系统组件,设备开发者可基于目标硬件能力自由选择系统组件进行集成。
OpenHarmony当前定义了三种基础系统类型,设备开发者通过选择基础系统类型完成必选组件集配置后,便可实现其最小系统的开发。这三种基础系统类型的参考定义如下:
表1 基础类型系统简介
类型 | 处理器 | 最小内存 | 能力 |
---|---|---|---|
轻量系统(mini system) | MCU类处理器(例如Arm Cortex-M、RISC-V 32位的设备) | 128KiB | 提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。 |
小型系统(small system) | 应用处理器(例如Arm Cortex-A的设备) | 1MiB | 提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。 |
标准系统(standard system) | 应用处理器(例如Arm Cortex-A的设备) | 128MiB | 提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。 |
本文通过介绍OpenHarmony系统的开发环境搭建、编译、烧录、调测以及运行“Hello World”等,引导开发者快速熟悉OpenHarmony设备开发的基本流程和方法。
操作方式
考虑到开发者的开发习惯,OpenHarmony为开发者提供了以下两种入门指导:
表2 入门方式
方式 | 工具 | 特点 | 适用人群 |
---|---|---|---|
基于IDE入门 | IDE(DevEco Device Tool) | 完全采用IDE进行一站式开发,编译依赖工具的安装及编译、烧录、运行都通过IDE进行操作。 DevEco Device Tool采用Windows+Ubuntu混合开发环境: - 在Windows上主要进行代码开发、代码调试、烧录等操作。 - 在Ubuntu环境实现源码编译。 DevEco Device Tool提供界面化的操作接口,可以为您提供更快捷的开发体验。 | - 不熟悉命令行操作的开发者 - 习惯界面化操作的开发者 |
基于命令行入门 | 命令行工具包 | 通过命令行方式下载安装编译依赖工具,在Linux系统中进行编译时,相关操作通过命令实现;在Windows系统中使用开发板厂商提供的工具进行代码烧录。 命令行方式提供了简便统一的工具链安装方式。 | 习惯使用命令行操作的开发者 |
基于IDE
搭建Windows环境
在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。
在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco Device Tool(可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。
本章节介绍开发所需Windows环境的搭建方法。
系统要求
-
Windows 10 64位系统,推荐内存8GB及以上,硬盘100GB及以上。
-
建议Windows和Ubuntu系统上安装的DevEco Device Tool为最新版本,且版本号需相同。
说明: 下面以3.1 Release版本的IDE进行说明,不同版本的IDE在支持的特性和操作上略有差别,具体情况可参考该工具的使用指南。
操作步骤
-
下载DevEco Device Tool最新Windows版本软件包。
-
解压DevEco Device Tool压缩包,双击安装包程序,单击下一步进行安装。
-
请详细阅读以下界面的用户协议和隐私声明,需勾选“我接受许可证协议中的条款”后,才能继续下一步的安装。
-
设置DevEco Device Tool的安装路径,请注意安装路径不能包含中文字符,不建议安装到C盘目录,单击下一步。
-
根据安装向导提示,安装依赖的工具。
其中,
- 安装:按照默认路径及参数直接安装。
- 自定义安装:安装前可以自行修改安装路径及其他设置参数。
安装完成后,各软件状态显示为OK。
-
依赖的工具安装完成后,单击安装,开始安装DevEco Device Tool。
-
继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,单击完成,关闭DevEco Device Tool安装向导。
-
打开Visual Studio Code,进入DevEco Device Tool工具界面。至此,DevEco Device Tool Windows开发环境安装完成。
基于命令行
准备开发环境
在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。同时,开发板的烧录需要在Windows环境中进行。
在基于命令行方式开发的过程中,除下述Windows环境要求、Ubuntu环境要求外,不对开发设备做另外的要求,请用户自行准备Windows环境、Ubuntu环境。本章节主要介绍通过Samba服务器实现Windows环境远程连接Ubuntu环境的方法。
说明: OpenHarmony还为开发者提供了Docker环境,整合的docker包在很大程度上简化了编译前的环境配置,习惯使用命令行的开发者也可以选择Docker环境进行编译 。
进行工具安装之前,需要做如下准备。
Windows环境要求
源码烧录需要Windows10 64位的系统环境。
Ubuntu环境要求
- Ubuntu18.04及以上版本,X86_64架构,内存推荐16 GB及以上。
- Ubuntu系统的用户名不能包含中文字符。
远程访问准备
当在Windows下进行烧录时,开发者需要访问Ubuntu环境下的源码和镜像文件。您可以使用习惯的文件传输或共享工具实现文件的共享或传输。
此处介绍通过Samba服务器进行连接的操作方法。
配置Samba服务器
在Ubuntu环境下进行以下操作:
-
安装Samba软件包。
1
sudo apt-get install samba samba-common
-
修改Samba配置文件,配置共享信息。 打开配置文件:
1
sudo gedit /etc/samba/smb.conf
在配置文件末尾添加以下配置信息(根据实际需要配置相关内容):
1
2
3
4
5
6
7
8
9
10[Share] #在Windows中映射的根文件夹名称(此处以“Share”为例)
comment = Shared Folder #共享信息说明
path = /home/share #共享目录
valid users = username #可以访问该共享目录的用户(Ubuntu的用户名)
directory mask = 0775 #默认创建的目录权限
create mask = 0775 #默认创建的文件权限
public = yes #是否公开
writable = yes #是否可写
available = yes #是否可获取
browseable = yes #是否可浏览 -
添加Samba服务器用户和访问密码。
1
sudo smbpasswd -a username #用户名为Ubuntu用户名。输入命令后,根据提示设置密码。
-
重启Samba服务。
1
sudo service smbd restart
设置Windows映射
在Windows环境下进行以下操作:
-
右键计算机选择映射网络驱动器,输入共享文件夹信息。在文件夹输入框填入Ubuntu设备的IP地址和Ubuntu共享文件夹的路径。
-
输入Samba服务器的访问用户名和密码(在配置Samba服务器时已完成配置)。
-
用户名和密码输入完成后即可在Windows下看到Linux的共享目录,并可对其进行访问。
开发板
本文选取了如下三款典型开发板,用于介绍不同系统的开发过程,开发者可根据需要自行购买开发板。
表3 开发板-系统对应关系
名称 | 适配系统 | 简介 |
---|---|---|
Hi3861 WLAN模组 | 轻量 | Hi3861开发板介绍 |
Hi3516DV300 | 小型 | Hi3516开发板介绍 |
RK3568 | 标准 | RK3568开发板介绍 |
开发流程
设备开发快速入门流程如下图所示。
图1 快速入门开发流程