鸿蒙南向开发环境的搭建(OpenHarmony)

2024-04-26 15:36

本文主要是介绍鸿蒙南向开发环境的搭建(OpenHarmony),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在嵌入式开发中,很多开发者习惯于使用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盘目录,单击下一步。

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

其中,

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

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

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

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

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

8. 打开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

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

bash。

sudo dpkg-reconfigure dash

2. 下载DevEco Device Tool最新Linux版本软件包。

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

  • 1. 进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-{Version}.zip为软件包名称,请根据实际进行修改。
unzip devicetool-linux-tool-{Version}.zip
  • 2. 进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-{Version}.sh请根据实际进行修改。
chmod u+x devicetool-linux-tool-{Version}.sh

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

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

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

安装完成后,当界面输出“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。

2. 执行如下命令,启动SSH服务。

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

说明:

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

安装Remote SSH

1. 打开Windows系统下的Visual Studio Code,点击,在插件市场的搜索输入框中输入“remotessh”。

2. 点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。

远程连接Ubuntu环境

1. 打开Windows系统的Visual Studio Code,点击,在SSH TARGETS下,单击+。

2. 在弹出的SSH连接命令输入框中输入“ssh username\@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。

3. 在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。

4. 在SSH TARGETS中,找到远程计算机,点击,打开远程计算机。

5. 在弹出的输入框中,选择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创建新工程。

2. 在新工程的配置向导页,配置工程相关信息,包括:

  • 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:选择产品。

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

五. 编译

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

说明:

RK3568编译环境为Ubuntu环境。

1. 在菜单栏中点击Project Settings,进入RK3568工程配置界面。

2. 在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源的方法进行修改,完成后尝试重新安装。

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

3. 在rk3568配置页签中,设置源码的编译类型build_type,默认为"debug"类型,请根据需要进行修改。

4. 在DevEco Device Tool界面的PROJECT TASKS中,点击对应开发板下的Build,执行编译。

5. 等待编译完成,在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会重启服务,因此请不要在下载源码或源码编译过程中进行连接,否则会中断任务。

3. 在菜单栏中点击Project Settings按钮,进入RK3568工程配置界面。

4. 在Tool Chain页签,检查Uploader烧录器工具是否已安装。

  • 如工具为“uninstalled”状态( ),可单击Download Uninstalled Tools,自动安装所需工具或单击工具后方的Download安装指定工具。

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

5. 在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”。

6. 在PROJECT TASKS中,点击rk3568下的Upload按钮启动烧录。

7. 当屏幕提示“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

写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新学习资源,请移步前往小编:https://qr21.cn/FV7h05

这篇关于鸿蒙南向开发环境的搭建(OpenHarmony)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937969

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对