鸿蒙南向开发环境的搭建

news2024/12/24 16:30:53

在嵌入式开发中,很多开发者习惯于使用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

为了能让大家更好的学习鸿蒙 (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. ……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1317485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hudi cleaning

核心概念 hudi提供了很多项数据服务来管理表中的数据,其中有一项服务称之为Cleaner(数据清理服务)。随着用户向表中写入的数据越多,对于每一次的更新,hudi都会产生一个版本的数据文件保存更新后的记录(COP…

Javascript 嵌套函数 - 递归函数 - 内置函数详解

Javascript 嵌套函数 - 递归函数 - 内置函数详解 目录 Javascript 嵌套函数 - 递归函数 - 内置函数详解 一、嵌套函数 二、递归函数 三、内置函数 在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数。 JavaScript特殊函数有3种&a…

工艺雕塑品牌网站搭建效果如何

工艺雕刻品往往受到不少人喜欢与较高的市场需求度,比如室内雕塑摆件、室外标志性雕刻品等,而对相关企业来说,品牌经营过程中也面临着一些难题: ① 品牌传播难 工艺雕刻品因为只有小部分人才会需要或采购,可能大部分民…

JAVA序列化(创建可复用的 Java 对象)

JAVA 序列化(创建可复用的 Java 对象) 保存(持久化)对象及其状态到内存或者磁盘 Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时,这些对象才可能存在,即,这些对象的生命周期不…

暂退法(丢弃法)

在深度学习中,丢弃法(Dropout)是一种常用的正则化技术,旨在减少模型的过拟合现象,可能会比之前的权重衰减(Weight Decay)效果更好。通过在训练过程中随机丢弃一部分神经元,可以有效地减少神经网络中的参数依…

普冉(PUYA)单片机开发笔记(11): I2C通信-配置主从收发

概述 在上一篇《普冉(PUYA)单片机开发笔记(10): I2C通信-配置从机-CSDN博客》配置了 PY32F003 的 I2C 从机一侧,今天配置主机,并实现主-从机之间的报文收发。 为了完成这个实验,需要两块 PY32F003F18P 的开发板&…

001 Windows虚拟机

一、虚拟机安装Windows10 选自定义安装 升级是针对你电脑上有系统的情况下,你要升级;没有系统就选择自定义。 硬盘60G 直接单击下一步就是一个盘 如果你想对磁盘进行分区 分第一个区的时候它会去创建系统的保留分区和系统分区,然后还剩20…

Linux下C++程序瘦身

目录 一.前言二.如何瘦身三.如何读取调试信息文件四.其他 一.前言 我们知道,C程序如果带着调试信息的话会比较大,所以一般发布版本都会去掉调试信息,但是我们又希望如果程序崩溃了可以使用core转储文件进行调试,如果不带调试信息…

数据结构之----贪心算法

数据结构之----贪心算法 什么是贪心算法? 贪心算法是一种常见的解决优化问题的算法,其基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决策,以期望获得全局最优解。 贪心算法简…

SpringBoot配置文件加载的优先级及自定义配置

Spring Boot使用一个非常特殊的PropertySource顺序,旨在允许合理的值重写,越靠前优先级越高。属性按以下顺序考虑: 开发者工具Devtools全局配置参数 在IDEA或Eclipse中,安装并启用Spring Boot Devtools插件。打开项目的Settings…

[Big Bird]论文解读:Big Bird: Transformers for Longer Sequences

文章目录 1 介绍2 模型架构3 结果 论文:Big Bird: Transformers for Longer Sequences 作者:Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Am…

【Java 并发】三大特性

在 Java 的高并发中,对于线程并发问题的分析通常可以通过 2 个主核心进行分析 JMM 抽象内存模型和 Happens-Before 规则三大特性: 原子性, 有序性和可见性 JMM 抽象内存模型和 Happens-Before 规则, 前面我们讨论过了。这里讨论一下三大特性。 1 原子性 定义: 一个…

HarmonyOS4.0从零开始的开发教程17给您的应用添加通知

HarmonyOS(十五)给您的应用添加通知 通知介绍 通知旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应…

基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(一)

系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型(一) 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xf…

Win11极速安装Tensorflow-gpu+CUDA+cudnn

文章目录 0.pip/conda换默认源1.Anacondapython虚拟环境2.安装CUDA以及cudnn测试tensorflow的GPU版本安装成功的办法 0.pip/conda换默认源 为了高效下载,建议先把默认源换了,很简单这里不再赘述。(我用梯子,所以没换源&#x1f6…

数据分析(一)(附带实例和源码)

一、主要目的: 主要利用Python包,如Numpy、Pandas和Scipy等常用分析工具并结合常用的统计量来进行数据的描述,把数据的特征和内在结构展现出来。熟悉在Python开发环境中支持数据分析的可用模块以及其中的方法,基于一定的样例数据…

【Java】使用递归的方法获取层级关系数据demo

使用递归来完善各种业务数据的层级关系的获取 引言:在Java开发中,我们通常会遇到层层递进的关系型数据的获取问题,有时是树状解构,或金字塔结构,怎么描述都行,错综复杂的关系在程序中还是可以理清的。 这…

服务器RAID配置及功能介绍

服务器RAID配置及功能介绍 一、RAID磁盘阵列详解1.RAID磁盘阵列介绍2.RAID 03.RAID14.RAID35.RAID56.RAID67.RAID 10总结阵列卡介绍 一、RAID磁盘阵列详解 1.RAID磁盘阵列介绍 ①是Redundant Array of lndependent Disks的缩写中文简称为独立冗余磁盘阵列。 ②把多块独立的物…

nginx_rtmp_module 之 ngx_rtmp_mp4_module 的mp4源码分析

一:整体代码函数预览 static ngx_int_t ngx_rtmp_mp4_postconfiguration(ngx_conf_t *cf) {ngx_rtmp_play_main_conf_t *pmcf;ngx_rtmp_play_fmt_t **pfmt, *fmt;pmcf ngx_rtmp_conf_get_module_main_conf(cf, ngx_rtmp_play_module);pfmt ngx_ar…

Prometheus 监控笔记(1):你真的会玩监控吗?

认识Prometheus Prometheus 是一种开源的系统和服务监控工具,最初由 SoundCloud 开发,后来成为继 Kubernetes 之后云原生生态系统中的一部分。在 Kubernetes 容器管理系统中,通常会搭配 Prometheus 进行监控,同时也支持多种 Expo…