在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual StudioCode进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。
在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco DeviceTool(可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。
本章节介绍开发所需Windows环境的搭建方法。
一.搭建Windows环境
系统要求
Windows 10 64位系统,推荐内存8GB及以上,硬盘100GB及以上。
建议Windows和Ubuntu系统上安装的DevEco Device Tool为最新版本,且版本号需相同。
说明:
下面以4.0 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 ToolWindows开发环境安装完成。
二. 搭建Ubuntu环境
在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual StudioCode进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3861、Hi3516系列开发板。因此,建议使用Ubuntu的编译环境对源码进行编译。
在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco DeviceTool(可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。
本章节介绍开发所需Ubuntu环境的搭建方法。
说明:
如果没有Ubuntu系统,可在Windows系统中通过虚拟机方式搭建Ubuntu系统,具体请参考
Ubuntu系统安装指导。Ubuntu系统安装完成后,请根据指导完成Ubuntu基础环境配置,然后再
根据本章节进行DevEco Device Tool工具的安装。
系统要求
Ubuntu系统要求:Ubuntu18.04~21.10版本。推荐使用20.04版本,内存16GB及以上,硬盘100GB及以上。Ubuntu系统的用户名不能包含中文字符。建议Ubuntu和Windows系统上安装的DevEco Device Tool为最新版本,且版本号需相同。
说明:
下面以3.1 Release版本的IDE进行说明,不同版本的IDE在支持的特性和操作上略有差别,具
体情况可参考该工具的使用指南。
操作步骤
- 将Ubuntu Shell环境修改为bash。
-
- 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据子步骤2,将Ubuntushell修改为bash。
ls -l /bin/sh
-
- 打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为
bash。
sudo dpkg-reconfigure dash
-
下载DevEco Device Tool最新Linux版本软件包。
-
解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。
-
- 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-{Version}.zip为软件包名称,请根据实际进行修改。
unzip devicetool-linux-tool-{Version}.zip
-
- 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。
chmod u+x devicetool-linux-tool-{Version}.sh
-
执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。
sudo ./devicetool-linux-tool-{Version}.sh
-
在用户协议和隐私声明签署界面,请详细阅读用户协议和隐私声明,需签署同意用户协议和隐私声明才能进行下一步的安装,可通过键盘的上下按键进行选择。
安装完成后,当界面输出"DevEco Device Tool successfully installed."时,表示DevEco DeviceTool安装成功。
三. 配置远程访问环境
在搭建了Windows和Ubuntu开发环境后,需要通过下述设置,使得Windows可以远程访问Ubuntu,为后续烧录文件的传输做好准备。
安装SSH服务并获取远程访问的IP地址
- 在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。
说明:如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo apt-get install opensshclient=1:8.2p1-4),再重新执行该命令安装openssh-server。
- 执行如下命令,启动SSH服务。
- 执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。
说明:
如果执行ifconfig命令提示"command-not-found",请执行sudo apt-get install net-tools命令安装网络查询工具,然后重新查询IP地址。
安装Remote SSH
- 打开Windows系统下的Visual Studio Code,点击,在插件市场的搜索输入框中输入"remotessh"。
- 点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。
远程连接Ubuntu环境
- 打开Windows系统的Visual Studio Code,点击,在SSH TARGETS下,单击+。
- 在弹出的SSH连接命令输入框中输入"ssh username\@ip_address",其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
- 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。
- 在SSH TARGETS中,找到远程计算机,点击,打开远程计算机。
- 在弹出的输入框中,选择Linux,然后在选择Continue,然后输入登录远程计算机的密码,连接远程计算机。
说明:
在Windows系统远程访问Ubuntu过程中,需要频繁的输入密码进行连接,为解决该问题,您可以使用SSH公钥来进行设置,设置方法请参考注册远程访问Ubuntu环境的公钥。
连接成功后,等待在远程计算机用户目录下的.vscode-server文件夹下自动安装插件,安装完成后,根据界面提示在Windows系统下重新加载Visual Studio Code,便可以在Windows的DevEcoDevice Tool界面进行源码开发、编译、烧录等操作。
说明:
如果您之前安装过DevEco Device Tool 3.0 Release及以前的版本,可能出现插件安装失败的情况,Visual Studio Code右下角一直处于如下界面,请参考DevEco Device Tool插件安装失败处理办法进行处理。
至此,环境搭建完成,如下图所示,左下角显示远程连接计算机的IP地址。
四. 创建工程并获取源码
在通过DevEco Device Tool创建OpenHarmony工程时,可自动下载相应版本的OpenHarmony源码。
- OpenHarmony Stable Version类型的源码为OpenHarmony稳定版本源码,通过镜像站点获取,支持
- OpenHarmony-v3.0.3-LTS、OpenHarmony-v3.1-Release、OpenHarmony-v3.2-Beta3、
- OpenHarmony-v3.2-Beta4、OpenHarmony-v3.2-Beta5、OpenHarmony-v3.2-Release版本。
镜像站点的源码,一般取自该稳定版本的发布时间点,因此,通过镜像站点获取的源码可能不是该版本最新源码。如果您需要获取对应版本的最新源码,请参考从码云仓库获取源码,获取源码后,请参考《HUAWEI DevEco Device Tool 使用指南》的"导入OpenHarmony源码"章节,在DevEco Device Tool中导入源码。
此处以下载OpenHarmony Stable Version源码为例,说明操作过程。关于其他类型源码的下载,可参考《HUAWEI DevEco Device Tool 使用指南》。
前提条件
只有在Windows环境通过Remote SSH远程连接上Ubuntu环境的情况下,才可以创建OpenHarmony新工程,具体请参考[搭建开发环境]。
说明:
若Windows环境未远程连接Ubuntu环境,New Project功能仅针对海思企业用户,不支持创建
OpenHarmony工程。
操作步骤
- 打开DevEco Device Tool,进入Home页,点击New Project创建新工程。
- 在新工程的配置向导页,配置工程相关信息,包括:
-
OpenHarmony Source Code:选择需要下载的OpenHarmony源码,请选择OpenHarmonyStable Version下的源码版本,支持OpenHarmony-v3.0.3-LTS、OpenHarmony-v3.1-Release、OpenHarmony-v3.2-Beta3、OpenHarmony-v3.2-Beta4、OpenHarmony-v3.2-Beta5、OpenHarmony-v3.2-Release版本。
-
Project Name:设置工程名称。
-
Project Path:选择工程文件存储路径。
-
SOC:选择支持的芯片。
-
Board:选择支持的开发板。
-
Product:选择产品。
- 工程配置完成后,点击Confirm,DevEco Device Tool会自动启动OpenHarmony源码的下载。由于OpenHarmony稳定版本源码包体积较大,请耐心等待源码下载完成。
五. 编译
DevEco Device Tool支持Rockchip RK3568开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。
说明:
RK3568编译环境为Ubuntu环境。
- 在菜单栏中点击Project Settings,进入RK3568工程配置界面。
- 在Tool Chain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备。
-
如工具为"uninstalled"状态( ),可单击Download Uninstalled Tools,自动安装所需工具,或单击工具后方的Download安装指定工具。
-
如当前识别到的工具类型有缺失,需要补充,可单击Add Utility添加。
-
如工具无法通过Download方式安装,表示该工具未被DevEco Device Tool收录,需要开发者自行下载到本地后单击Import导入。
-
如"OpenHarmony Environment Dependency"的状态异常( ),请单击Install安装。
部分工具的安装需要使用root权限,请在TERMINAL窗口输入用户密码进行安装。
说明:
如果出现安装pip组件失败,可参考修改Python源的方法进行修改,完成尝试重新安装。若出现安装apt组件失败,可参考修改apt源的方法进行修改,完成后尝试重新安装。
安装完成后,工具和环境依赖的状态显示为。
- 在rk3568配置页签中,设置源码的编译类型build_type,默认为"debug"类型,请根据需要进行修改。
- 在DevEco Device Tool界面的PROJECT TASKS中,点击对应开发板下的Build,执行编译。
- 等待编译完成,在TERMINAL窗口输出"SUCCESS",编译完成。
编译完成后,可以在工程的out目录下,查看编译生成的文件,用于后续的[RK3568开发板烧录]。
六. 烧录
烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco DeviceTool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。RK3568的镜像烧录通过Windows环境进行烧录,开发者启动烧录操作后,DevEco Device Tool通过Remote远程模式,将Ubuntu环境下编译生成的待烧录程序文件拷贝至Windows目录下,然后通过Windows的烧录工具将程序文件烧录至开发板中。
前提条件
下载并安装驱动DriverInstall.exe。当安装窗口显示"安装驱动成功"时,即表示驱动已安装完成,可进入后续烧录步骤。
说明:
如果已经安装旧版本的烧写工具,请先点击"驱动卸载"按钮卸载驱动,然后再点击"驱动安装"按钮安装驱动。
操作步骤
-
请连接好电脑和待烧录开发板,连接USB接口,具体可参考RK3568开发板介绍。
-
在DevEco Device Tool中,选择REMOTE DEVELOPMENT > Local PC,查看远程计算机(Ubuntu开发环境)与本地计算机(Windows开发环境)的连接状态。
- 如果Local PC右边连接按钮为,则远程计算机与本地计算机为已连接状态,不需要执行其他操作。
- 如果Local PC右边连接按钮为,则点击绿色按钮进行连接。连接时DevEco Device Tool会重启服务,因此请不要在下载源码或源码编译过程中进行连接,否则会中断任务。
- 在菜单栏中点击Project Settings按钮,进入RK3568工程配置界面。
- 在Tool Chain页签,检查Uploader烧录器工具是否已安装。
-
如工具为"uninstalled"状态( ),可单击Download Uninstalled Tools,自动安装所需工具或单击工具后方的Download安装指定工具。
-
如工具无法通过Download方式安装,表示该工具未被DevEco Device Tool收录,需要开发者自行下载到本地后单击Import导入。
- 在rk3568页签,设置烧录选项,包括upload_partitions和upload_protocol。
配置完成后工程将自动保存。
-
upload_partitions_profile:选择待烧录程序的配置文件,该配置文件会指定烧录文件名称、起始烧录地址、地址长度等信息;同时请勾选Enable to use upload_partitions_profile for upload选项。
-
说明:
如需修改烧录profile文件,在设置烧录分区起始地址和分区长度时,应根据实际待烧录文件
的大小进行设置,要求设置的烧录分区大小,要大于待烧录文件的大小;同时,各烧录文件
的分区地址设置不能出现重叠。
首次烧录,请勾选Enable to use upload_partitions_profile for upload选项,会自动生成
upload_partitions文件。再次烧录时,可根据实际情况选择生成upload_partitions文件进行
自定义烧录,也可以再勾选Enable to use upload_partitions_profile for upload选项,使
用upload_partitions_profile重新生成upload_partitions文件用于烧录。
-
upload_protocol:选择烧录协议,固定选择"upgrade"。
- 在PROJECT TASKS中,点击rk3568下的Upload按钮启动烧录。
- 当屏幕提示"Operation paused,Please press Enter key to continue",请按回车键继续。
说明:
如果开发板未处于烧录模式,屏幕会提示"The board is not in Loader mode.Please Hold on theVOL+key...",此时,请长按音量+键,3秒后点击RESET键,然后再过3秒放开音量+键,使开发板进入烧录模式。
等待开发板烧录完成,当屏幕提示如下信息时,表示烧录成功。
视频讲解:https://www.bilibili.com/video/BV1Wj411p7XN
为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
《鸿蒙 (Harmony OS)开发学习手册》
- 应用开发导读(ArkTS)
- 应用开发导读(Java)
HarmonyOS 概念:https://qr21.cn/FV7h05
- 系统定义
- 技术架构
- 技术特性
- 系统安全
如何快速入门:https://qr21.cn/FV7h05
- 基本概念
- 构建第一个ArkTS应用
- 构建第一个JS应用
- ......
开发基础知识:https://qr21.cn/FV7h05
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ......
基于ArkTS 开发:https://qr21.cn/FV7h05
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ......