OpenHarmony开发-连接开发板调试应用_鸿蒙嵌入式开发-程序员宅基地

技术标签: HCPAD-100  rk3568  鸿蒙  DevEco Studio  HarmonyOS  嵌入式  openharmony  harmonyos  

在 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 环境的部署、应用的开发、开发板烧录和生产设备联调的过程,希望本文可以对大家开发中遇到的困难进行答疑解惑。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41793160/article/details/137567835

智能推荐

CPU如何跑分_cpu跑分教程-程序员宅基地

文章浏览阅读1k次。烤CPU的时候,占用率满了,CPU频率的槽有一些还是空的…… 有没有能跑分的软件?好像有的【聊电Jing】你的CPU性能如何? 来跑个分测试看看吧! | Cinebench R15 & R20 使用教学_哔哩哔哩_bilibili 好像还是免费的Cinebench - Maxon Cinebench - Microsoft Store Apps 频率为什么就是超不过3Ghz? 多核,100度了? 可能频率最高只能这么高,再高可能就烧掉了…… 多核结果.................._cpu跑分教程

最大流问题的Ford-Fulkerson解法_ford capacity 详解-程序员宅基地

文章浏览阅读498次。这是一种方法,而不是算法,因为它包含具有不同运行时间的几种实现。该方法依赖于三种重要思想:残留网络,增广路径和割我们先简单介绍下Ford-Fulkerson方法的基本思想。首先需要了解的是Ford-Fulkerson是一种迭代的方法。开始时,对所有的u,v属于V,f(u,v)=0(这里f(u,v)代表u到v的边当前流量),即初始状态时流的值为0。在每次迭代中,可以通过寻找一个“增广路径”来增加_ford capacity 详解

Windows10下多版本CUDA的安装与切换 超详细教程_cuda版本-程序员宅基地

文章浏览阅读1.9w次,点赞69次,收藏379次。当我们跑深度学习的代码时,有时会遇到上古的代码,环境比较老,是低版本的 CUDA,此时我们就需要多个 CUDA 版本,并能灵活切换。本文是在已有CUDA11.2的环境下安装CUDA9.2。Windows10下多版本CUDA的安装与切换保姆级教学。_cuda版本

C语言——数组逆置(内含递归实现)-程序员宅基地

文章浏览阅读5k次,点赞5次,收藏25次。一.什么是数组的逆置呢?int a[10]={1,2,3,4,5,6,7,8,9,10};将数组变为 a[10]={10,9,8,7,6,5,4,3,2,1};这就叫做数组的逆置。二.1.循环实现数组的逆置这个是我们在初学C语言时最容易的实现方法!a.通过for循环实现//通过循环完成对数组的逆置#include<stdio.h>#define size 10void Inversion(int[], int);int main(void){ i_数组逆置

esp32-cam Thonny 烧录以及通信-程序员宅基地

文章浏览阅读229次,点赞4次,收藏3次。链接:https://pan.baidu.com/s/1cBsrCJ_TATFsuVhVdr0VmA?IO1和GND不再短接。重新插拔一下,就可以了。

字符,字节和编码-程序员宅基地

文章浏览阅读39次。级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“字符与编码”...

随便推点

话题的发布与订阅_话题订阅频率和发布频率一样-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏11次。Ros话题发布与订阅节点的编写(C++)_话题订阅频率和发布频率一样

Qt Creator 安装 VLD_qtcreater vld-程序员宅基地

文章浏览阅读509次。Qt Creator 安装 VLD2015-04-14 16:52:55你好L阅读数 2325更多分类专栏:qt版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lin_jianbin/article/details/45044459一、环境说明1、VLD内存..._qtcreater vld

Linux 开发环境工具[zt]-程序员宅基地

文章浏览阅读120次。软件集成开发环境(代码编辑、浏览、编译、调试)Emacs http://www.gnu.org/software/emacs/Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenavAnjuta http://anjuta.sourceforge...._linux上安装flawfinder

java小易——Spring_spring的beanfactory是hashmap吗-程序员宅基地

文章浏览阅读109次。SpringIoC DI AOPspring底层用的是ConcurrentHashMap解耦合:工厂模式:需要一个模板控制反转 IoC将原来有动作发起者(Main)控制创建对象的行为改成由中间的工厂来创建对象的行为的过程叫做IoC一个类与工厂之间如果Ioc以后,这个时候,动作发起者(Main)已经不能明确的知道自己获得到的对象,是不是自己想要的对象了,因为这个对象的创建的权利与交给我这个对象的权利全部转移到了工厂上了所用包:DOM4j解析XML文件lazy-init = _spring的beanfactory是hashmap吗

温故而知新:部分常见的图像数学运算处理算法的用途_图像处理算啊-程序员宅基地

文章浏览阅读1.3k次,点赞29次,收藏24次。本文将图像处理中常用的数学运算算法及其对图像的作用做了个汇总介绍,有助于图像处理时针对对应场景快速选择合适的数学算法。_图像处理算啊

EM Agent Fatal agent error: State Manager failed at Startup_check agent status retcode=1-程序员宅基地

文章浏览阅读1.1k次。EM 不定期异常宕机,问题重复出现,之前几次因为忙于其它事,无力兼顾,等回头处理时,发现EM已恢复正常。这次问题又重现,准备彻底解决,过程如下:1. 重新启动EM失败,报错:/u01/oracle/agent/core/12.1.0.5.0/bin/emctl status agentOracle Enterprise Manager Cloud Control 12c Relea_check agent status retcode=1

推荐文章

热门文章

相关标签