OpenHarmony开发-连接开发板调试应用

在 OpenHarmony 开发过程中,连接开发板进行应用调试是一个关键步骤,只有在真实的硬件环境下,我们才能测试出应用更多的潜在问题,以便后续我们进行优化。本文详细介绍了连接开发板调试 OpenHarmony 应用的操作步骤。

首先,我们搭建了OpenHarmony的开发环境,安装 OpenHarmony SDK 和所需的驱动程序。接着,我们通过USB连接方式将开发板连接到开发机。在连接成功后,我们使用 DevEco-Studio 部署和启动应用。通过监控应用在开发板上的运行情况,我们可以利用日志输出进行问题诊断。 


一、搭建OpenHarmony开发环境

前面我们已经介绍了如何从零到一搭建HarmonyOS应用开发环境,这里只做简单回顾,详细流程参考我之前的文章:HarmonyOS应用开发-搭建开发环境

1、安装DevEco Studio

官网:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者
下载 DevEco Studio 3.1.1 Release 最新版本。

下载完成后,点击安装,根据大家自己的喜好选择路径安装即可,需要 2GB 的存储空间。

记得勾选 “生成快捷方式” 和 “添加到path环境变量” 。

后面一直Next,直到安装完成。

安装完需要对电脑重启。 


2、安装 Node.js 和 ohpm

首次运行 DevEco Studio 会来到这个页面。
HarmonyOS 应用开发需要我们的电脑上安装 Node.js 和 ohpm (鸿蒙生态三方库的包管理工具)
这里华为官方提供了镜像,如果本机上之前没有装过,直接勾选 install 然后下一步即可。


3、安装HarmonyOS SDK

基础组件安装后,我们需要安装 HarmonyOS 的 SDK。HarmonyOS SDK 提供应用及服务开发所需的一系列系统开放能力,包括框架、Ability、分布式服务、安全、方舟编译器、HMS Core、基础软件服务、硬件服务等。

这里选择安装路径即可,我直接默认路径,点击下一步。

这个页面展示了所有需要安装的包,点击下一步安装。

几分钟后安装完成。


二、开发OpenHarmony应用

前面我们已经介绍了如何从零到一开发一款HarmonyOS应用,这里只做简单回顾,详细流程参考我之前的文章:HarmonyOS应用开发-使用低代码快速开发一个应用

1、创建Stage模式应用

创建时,我们需要选择模型,模型有两种,一种是FA模型,一种是Stage模型。API 8及以前的接口基于FA模型提供;从API 9开始,OpenHarmony主推Stage模型。这里我们使用Stage模式创建,并勾选低代码开发模式。

创建好之后,我们进入项目开发界面。


2、低代码开发应用

参考我之前文章的步骤,很快我们就可以使用低代码做出一个简单应用。

代码完成后,我们可以使用DevEco Studio自带的模拟器进行调试。

添加模拟设备,然后点击启动。 

 模拟器调试效果如下:

 确保我们的HarmonyOS应用在模拟器里可以运行,后面就可以直接在开发板上部署了。


三、开发板安装OpenHarmonyOS

先确认一下开发板是否已经预装OpenHarmony系统,如果没有,我们需要自行烧录OpenHarmony系统到开发板。

前面我们已经介绍了如何从零到一烧录OpenHarmony系统到开发板,这里只做简单回顾,详细流程参考我之前的文章:OpenHarmony开发-烧录OpenHarmony系统到开发板

本次我们演示使用的开发板是鸿诚志远 HCPAD-100 ,是基于瑞芯微 RK3568 设计的一款人工智能开发板,其他开发板,例如 RK3568 或者 HiHope DAYU200 都是可以的。

1、准备工作

硬件准备:

  • RK3568开发板(或HCPAD-100开发板、HiHope DAYU200开发板等)
  • 双USB口数据线
  • 电源适配器等。

软件准备:

  • 获取OpenHarmony的源代码。
  • 准备RK3568的烧录工具,例如RKDevTool。
  • 安装并配置开发环境,比如确保有适合的编译工具链。

2、下载RK驱动和烧录工具

下载RK驱动助手和AndroidTool烧录工具。
地址:Firefly | 让科技更简单,让生活更智能 (t-firefly.com)

下载完成后进行安装。

① 安装RK驱动助手

双击安装程序,选择驱动安装,安装完成后电脑连接开发板时才可以识别。

② 安装AndroidTool烧录工具

选择安装路径安装,安装完成后打开如下,在没有连接设备时显示 No Devices Found。


3、下载HDC命令工具

HDC (OpenHarmony Device Connector) 是为开发人员提供的用于设备连接调试的命令行工具,PC 端开发机使用命令行工具hdc_std进行调试,该工具支持部署在 Windows/Linux/Mac 等系统上与 OpenHarmony 设备(或模拟器)进行连接调试通信。

官方或者社区链接下载均可,压缩包里包含 Windows 和 Linux 两个版本。

下载链接①:
https://repo.huaweicloud.com/harmonyos/os/3.2-Release/ohos-sdk-windows_linux-public.tar.gz

下载链接②:
developtools_hdc_standard: Device debug connector that provides the device connection capability and a command line tool | 设备调试连接器,提供了连接设备的能力,并提供了对外的命令行工具

下载链接③:
访问:每日构建 | OpenHarmony CI ,在 CICD 的每日构建中找到 ohos_sdk,下载最新版本。

下载后解压,进入目录 ohos-sdk\windows,继续解压 toolchains-windows 开头的压缩包。

在解压后的 toolchains-windows 开头的文件夹 \toolchains 目录下,找到 hdc.exe。

配置环境变量,把 hdc.exe 的路径配置到 path 里。

验证下 HDC 是否安装成功,使用查看版本的命令

hdc -v

可以看到 HDC 安装成功了。


4、连接电脑和开发板

在开发板断电情况下按住烧录键,通过双USB数据线连接电脑和开发板,再给开发板通电,此时开发板进入烧录模式。


5、下载OpenHarmony镜像

访问:每日构建 | OpenHarmony CI ,在 CICD 的每日构建中找到 dayu200,下载最新版本。


6、烧录OpenHarmony系统

在镜像下载完成后,我们需要导入镜像配置到烧录工具中。右键 Loader 导入配置,选择解压的镜像包中的 config.cfg 文件。导入新配置后,misc、sys-prod、chip-prod三个分区不存在镜像,烧写时不能勾选。点击执行,出现下载完成,即表示烧录成功。

 

烧录完成后,我们给板子断电重插,板子开机进入OpenHarmony系统页面。

开机完成后,可以看到 OpenHarmony 自带的系统应用。 

到此,OpenHarmony 系统烧录到开发板的步骤完成。


四、连接开发板调试应用

1、下载OpenHarmony的SDK

DevEco-Studio 与 OpenHarmony 系统联调,需要下载 OpenHarmony 的 SDK。如果之前下载过的只需要导入路径就可以,没有下载过的可以在 DevEco Studio 里直接下载。

我们先打开 DevEco Studio 的设置。

给 OpenHarmony-SDK 添加路径,或者直接下载 OpenHarmony 的 SDK。

这里我是没安装过,所以直接下载。

大概两分钟,下载进度条走到头,我们的 OpenHarmony-SDK 就安装完成了。


2、连接开发设备与开发板

我们给开发板接好电源,连接显示器和鼠标,然后USB连接我们的电脑。

连接成功后,DevEco-Studio 上方可以看到我们的设备名,如果线没有插好,则还是显示 No Devices。


3、设置项目签名 

我们需要为项目设置签名,才可以和开发板进行联调。

连接设备,上方出现设备名后(图截早了,应该是显示设备名),点击右上角项目结构按钮。选择签名设置,进入签名设置页面。

签名设置里勾选,自动生成签名。

如果没有登录华为云开发者账号,会提示我们需要先登录。 

点击登录,会自动弹出浏览器,用华为账号登录即可。

登录完成,返回我们的 DevEco Studio 客户端。


4、启动DevEco-Studio项目

点击运行按钮即可。

可以看到我们的开发板自动安装并运行了刚刚开发好的 HarmonyOS 应用。

APP在首页上也有显示。 

至此,我成功完成了 OpenHarmony 环境的部署、应用的开发、开发板烧录和生产设备联调的过程,希望本文可以对大家开发中遇到的困难进行答疑解惑。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实现几何对象按照一定距离向外缓冲

1、首先&#xff0c;确保你已经引入了Turf.js库。你可以通过在HTML文件中添加以下代码来引入 <script src"https://cdn.jsdelivr.net/npm/turf/turf6.5.0/turf.min.js"></script>2、使用turf.buffer实现几何对象按照设定距离扩充 let originalCoordinat…

【MATLAB源码-第183期】基于matlab的图像处理GUI很全面包括滤波,灰度,边缘提取,RGB亮度调节,二值化等。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. RGB颜色亮度调整 1.1 RGB颜色模型 RGB颜色模型是一种加色模型&#xff0c;使用红色&#xff08;R&#xff09;、绿色&#xff08;G&#xff09;、蓝色&#xff08;B&#xff09;三种颜色的不同组合来表示各种颜色。每种…

每日OJ题_两个数组dp⑤_力扣10. 正则表达式匹配

目录 力扣10. 正则表达式匹配 解析代码 力扣10. 正则表达式匹配 10. 正则表达式匹配 难度 困难 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c…

部署 GlusterFS 群集

目录 一、GFS部署 1.1.环境 1.2.更改节点名称 1.3.节点进行磁盘挂载&#xff0c;安装本地源 1.4.添加节点创建集群 1.5.根据规划创建卷 1.6. 部署gluster客户端 1.7. 破坏性测试 挂起 node2 节点或者关闭glusterd服务来模拟故障 复制卷&#xff0c;在node3和no…

基于springboot+vue+Mysql的药品商超管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

c++ 谷歌glog日志库使用

效果如图&#xff1a; 本次使用qt环境演示&#xff0c;相关库文件和头文件下载链接&#xff1a;https://download.csdn.net/download/bangtanhui/89108477 将相关库文件和头文件&#xff0c;丢到工程目录下 然后需要在工程pro文件当中引入库文件和头文件&#xff1a; …

LMDeploy 推理部署工具

一. 大模型部署面临的挑战 1. 计算量巨大 大模型参数量巨大&#xff0c;前向推理时需要进行大量计算。 2. 内存开销巨大 大模型在推理过程中&#xff0c;以FP16为例&#xff0c;20B模型仅加载参数就需40G显存&#xff0c;175B模型更是需要350G显存。同时在推理过程中&#xff…

JVM内存模型深度剖析

JDK体系结构 Java语言的跨平台特性 JDK整体结构及内存模型 JVM虚拟机 JVM主要由以下三个部分组成 类装载子系统:负责将Java类文件加载到运行时数据区中.并在运行时由类加载器创建Java类对象.运行时数据区:运行时数据区是JVM用于存储数据的内存区域.它包括方法区,堆,栈,本地方…

使用VPN时,Java程序无法访问远程网络的解决办法

应用场景&#xff1a; 电脑连接VPN之后&#xff0c;Java程序无法连接远程服务&#xff0c;比如第三方接口、远程数据库连接、远程微服务等。我个人遇到的情况有连接海康威视SDK&#xff0c;influxdb以及一些微服务。 解决办法&#xff1a; 启动Java时加入参数&#xff1a;-D…

ChatGPT与生成式AI:教育领域内新的浪潮与挑战

随着ChatGPT和其他生成式AI技术&#xff0c;如GPT-3.5、GPT-4的出现&#xff0c;我们正见证教育领域一场前所未有的变革浪潮。这些技术不仅推动了教育方式的进步&#xff0c;也为学习者带来了全新的机遇和挑战。 NO.1教育变革的新浪潮 生成式AI技术&#xff0c;特别是ChatGPT&…

Microsoft Visio 参与者 [actor] - 人的形状图标

Microsoft Visio 参与者 [actor] - 人的形状图标 1. 更多形状 -> 搜索形状2. 参与者References 1. 更多形状 -> 搜索形状 2. 参与者 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人

什么是 RAG LLM 会产生误导性的 “幻觉”&#xff0c;依赖的信息可能过时&#xff0c;处理特定知识时效率不高&#xff0c;缺乏专业领域的深度洞察&#xff0c;同时在推理能力上也有所欠缺。 正是在这样的背景下&#xff0c;检索增强生成技术&#xff08;Retrieval-Augmented…

(学习日记)2024.04.11:UCOSIII第三十九节:软件定时器

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

自动驾驶中的多目标跟踪_第四篇

自动驾驶中的多目标跟踪:第四篇 附赠自动驾驶学习资料和量产经验&#xff1a;链接 在上篇&#xff0c;我们得到了杂波背景下单目标状态的后验概率表达式。在不进行近似的情况下&#xff0c;是无法应用到实际场景中的。因此&#xff0c;在这一节&#xff0c;我们来讨论如何进行…

【Java 刷题记录】双指针

双指针 1. 移动零 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: n…

anaconda命令行创建虚拟环境并为其安装jupyter notebook同时指定jupyter notebook保存位置

查看有哪些虚拟环境&#xff08;一个环境一个版本的python或者其他库&#xff09; winr快捷键 输入cmd conda env list应该是进入conda的安装路径&#xff0c;但是我们已经添加环境变量 可以看到只有base默认的环境 我们现在新建虚拟环境 python版本为你需要的 conda create -…

Java 那些诗一般的 数据类型 (下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…

Redis系列之主从复制集群搭建

在上一篇博客&#xff0c;我们已经知道怎么搭建一个redis单机版&#xff0c;这篇博客基于之前的基础&#xff0c;来搭建一个redis主从同步&#xff0c;本博客框架是一主二从&#xff0c;一个主节点&#xff0c;其它两个从节点 实验环境 CentOS7Xshell6XFtp6Redis6.2.2 主从关…

Java特性之设计模式【外观模式】

一、外观模式 概述 外观模式&#xff08;Facade Pattern&#xff09;隐藏系统的复杂性&#xff0c;并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式&#xff0c;它向现有的系统添加一个接口&#xff0c;来隐藏系统的复杂性 这种模式涉及到一…

未来的技术发展趋势

文章目录 前言一、人工智能技术势必聚焦安全能力二、单云环境逐渐让位于多云环境三、后量子密码或将在美大范围普及总结前言 2023 年,与网络空间安全息息相关的人工智能等技术发展迅猛,新的信息安全时代已然拉开大幕。在目睹了 ChatGPT、“星链”和量子通信等技术展现出的巨…