鸿蒙南向开发环境的搭建

在嵌入式开发中,很多开发者习惯于使用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在支持的特性和操作上略有差别,具

体情况可参考该工具的使用指南。

操作步骤

  1. 下载DevEco Device Tool最新Windows版本软件包。

  2. 解压DevEco Device Tool压缩包,双击安装包程序,单击下一步进行安装。

  3. 请详细阅读以下界面的用户协议和隐私声明,需勾选"我接受许可证协议中的条款"后,才能继续下一步的安装。

  4. 设置DevEco Device Tool的安装路径,请注意安装路径不能包含中文字符,不建议安装到C盘目录,单击下一步。

  1. 根据安装向导提示,安装依赖的工具。

其中,

  • 安装:按照默认路径及参数直接安装。

  • 自定义安装:安装前可以自行修改安装路径及其他设置参数。

安装完成后,各软件状态显示为OK。

  1. 依赖的工具安装完成后,单击安装,开始安装DevEco Device Tool。

  2. 继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,单击完成,关闭DevEco Device Tool安装向导。

  1. 打开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在支持的特性和操作上略有差别,具

体情况可参考该工具的使用指南。

操作步骤

  1. 将Ubuntu Shell环境修改为bash。
    1. 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据子步骤2,将Ubuntushell修改为bash。

    ls -l /bin/sh

    1. 打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为

bash。

sudo dpkg-reconfigure dash
  1. 下载DevEco Device Tool最新Linux版本软件包。

  2. 解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。

    1. 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-{Version}.zip为软件包名称,请根据实际进行修改。

    unzip devicetool-linux-tool-{Version}.zip

    1. 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。

    chmod u+x devicetool-linux-tool-{Version}.sh

  1. 执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。

    sudo ./devicetool-linux-tool-{Version}.sh

  2. 在用户协议和隐私声明签署界面,请详细阅读用户协议和隐私声明,需签署同意用户协议和隐私声明才能进行下一步的安装,可通过键盘的上下按键进行选择。

安装完成后,当界面输出"DevEco Device Tool successfully installed."时,表示DevEco DeviceTool安装成功。

三. 配置远程访问环境

在搭建了Windows和Ubuntu开发环境后,需要通过下述设置,使得Windows可以远程访问Ubuntu,为后续烧录文件的传输做好准备。

安装SSH服务并获取远程访问的IP地址

  1. 在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。

说明:如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo apt-get install opensshclient=1:8.2p1-4),再重新执行该命令安装openssh-server。

  1. 执行如下命令,启动SSH服务。
  1. 执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。

说明:

如果执行ifconfig命令提示"command-not-found",请执行sudo apt-get install net-tools命令安装网络查询工具,然后重新查询IP地址。

安装Remote SSH

  1. 打开Windows系统下的Visual Studio Code,点击,在插件市场的搜索输入框中输入"remotessh"。
  1. 点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。

远程连接Ubuntu环境

  1. 打开Windows系统的Visual Studio Code,点击,在SSH TARGETS下,单击+。
  1. 在弹出的SSH连接命令输入框中输入"ssh username\@ip_address",其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
  1. 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。
  1. 在SSH TARGETS中,找到远程计算机,点击,打开远程计算机。
  1. 在弹出的输入框中,选择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工程。

操作步骤

  1. 打开DevEco Device Tool,进入Home页,点击New Project创建新工程。
  1. 在新工程的配置向导页,配置工程相关信息,包括:
  • 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:选择产品。

  1. 工程配置完成后,点击Confirm,DevEco Device Tool会自动启动OpenHarmony源码的下载。由于OpenHarmony稳定版本源码包体积较大,请耐心等待源码下载完成。

五. 编译

DevEco Device Tool支持Rockchip RK3568开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。

说明:

RK3568编译环境为Ubuntu环境。

  1. 在菜单栏中点击Project Settings,进入RK3568工程配置界面。
  1. 在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源的方法进行修改,完成后尝试重新安装。

安装完成后,工具和环境依赖的状态显示为。

  1. 在rk3568配置页签中,设置源码的编译类型build_type,默认为"debug"类型,请根据需要进行修改。
  1. 在DevEco Device Tool界面的PROJECT TASKS中,点击对应开发板下的Build,执行编译。
  1. 等待编译完成,在TERMINAL窗口输出"SUCCESS",编译完成。

编译完成后,可以在工程的out目录下,查看编译生成的文件,用于后续的[RK3568开发板烧录]。

六. 烧录

烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco DeviceTool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。RK3568的镜像烧录通过Windows环境进行烧录,开发者启动烧录操作后,DevEco Device Tool通过Remote远程模式,将Ubuntu环境下编译生成的待烧录程序文件拷贝至Windows目录下,然后通过Windows的烧录工具将程序文件烧录至开发板中。

前提条件

下载并安装驱动DriverInstall.exe。当安装窗口显示"安装驱动成功"时,即表示驱动已安装完成,可进入后续烧录步骤。

说明:

如果已经安装旧版本的烧写工具,请先点击"驱动卸载"按钮卸载驱动,然后再点击"驱动安装"按钮安装驱动。

操作步骤

  1. 请连接好电脑和待烧录开发板,连接USB接口,具体可参考RK3568开发板介绍。

  2. 在DevEco Device Tool中,选择REMOTE DEVELOPMENT > Local PC,查看远程计算机(Ubuntu开发环境)与本地计算机(Windows开发环境)的连接状态。

  • 如果Local PC右边连接按钮为,则远程计算机与本地计算机为已连接状态,不需要执行其他操作。
  • 如果Local PC右边连接按钮为,则点击绿色按钮进行连接。连接时DevEco Device Tool会重启服务,因此请不要在下载源码或源码编译过程中进行连接,否则会中断任务。
  1. 在菜单栏中点击Project Settings按钮,进入RK3568工程配置界面。
  1. 在Tool Chain页签,检查Uploader烧录器工具是否已安装。
  • 如工具为"uninstalled"状态( ),可单击Download Uninstalled Tools,自动安装所需工具或单击工具后方的Download安装指定工具。

  • 如工具无法通过Download方式安装,表示该工具未被DevEco Device Tool收录,需要开发者自行下载到本地后单击Import导入。

  1. 在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"。

  1. 在PROJECT TASKS中,点击rk3568下的Upload按钮启动烧录。
  1. 当屏幕提示"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)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. 应用开发导读(Java)

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......
相关推荐
小菜鸟学代码··2 小时前
STM32文件详解
stm32·单片机·嵌入式硬件
马浩同学3 小时前
【GD32】从零开始学GD32单片机 | DAC数模转换器 + 三角波输出例程
c语言·单片机·嵌入式硬件·mcu
Freerain995 小时前
鸿蒙Next类属性观测器V2
华为·harmonyos
最后一个bug6 小时前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
wenchm6 小时前
细说STM32F407单片机IIC总线基础知识
stm32·单片机·嵌入式硬件
yg_小小程序员7 小时前
鸿蒙开发(16)使用DevEco Studio上的Git工具进行多远程仓管理
git·华为·harmonyos
嵌入式lover7 小时前
STM32项目之环境空气质量检测系统软件设计
stm32·单片机·嵌入式硬件
JasonYin~7 小时前
HarmonyOS NEXT 实战之元服务:静态案例效果---每日玩机技巧
harmonyos
轻口味7 小时前
【每日学点鸿蒙知识】多线程限制、axios组件下载进度问题、lpx问题、Web组件全局代理、ArrayList问题
华为·harmonyos
yuanlaile7 小时前
纯Dart Flutter库适配HarmonyOS
flutter·华为·harmonyos·flutter开发鸿蒙·harmonyos教程