OpenHarmony开发-系统烧录

举报
Damon小智 发表于 2024/04/06 23:08:50 2024/04/06
【摘要】 本文详细介绍了烧录OpenHarmony系统到开发板的操作流程。从基础的硬件准备和软件环境设置入手,详细说明了如何配置开发环境、构建系统镜像等过程,详细描述了烧录过程中的关键步骤,以及如何使用专用工具将OpenHarmony系统镜像传输到开发板。同时,文章也列出了烧录过程中可能遇到的常见问题及其解决方案。

一、Open Harmony介绍

Open Harmony 是由开放原子开源基金会孵化及运营的开源项目,由开放原子开源基金会 Open Harmony 项目群工作委员会负责运作。由全球开发者共建的开源分布式操作系统,具备面向全场景、分布式等特点,是一款全(全领域) (新一代) 开(开源) 放(开放)的操作系统。

OpenHarmony的设计理念体现在其面向全场景、分布式的架构上,与传统操作系统相比,它在多个方面展现出显著优势:

特性 Open Harmony 传统操作系统


适应性

面向全场景,能够适用于从小型物联网设备到大型服务器的广泛设备。

通常专注于特定领域,如个人电脑、手机或服务器。

架构

分布式设计,可实现设备间的无缝协作和资源共享。

主要基于单一设备,设备间互操作性有限。

开发模式

开源社区驱动,全球开发者共同参与,快速迭代。

可能是开源也可能是封闭源,开发和迭代速度不一。

系统更新

支持模块化更新,可以针对系统的特定部分进行更新,而不需要重启整个系统。

更新往往需要整个系统重启,影响设备使用。

安全性

设计时考虑了分布式环境下的安全需求,支持多层次安全策略。

安全性依赖于单个系统的设计,可能不适用于分布式环境。

资源利用率

高效的资源管理,能在资源受限的设备上运行,优化了低功耗和性能。

可能需要较多资源,不一定适合资源受限的环境。

用户体验

通过分布式能力,实现跨设备的流畅体验和服务共享,为用户提供更连贯的操作体验。

用户体验通常局限于单一设备,跨设备使用可能不便。

OpenHarmony的这些优势,使其成为一个非常有潜力的操作系统,能够满足未来技术发展的需求,特别是在物联网和跨设备协同工作方面。它不仅提供了技术上的创新,还通过开放源代码的方式,鼓励全球开发者共同参与,推动了生态系统的快速发展。


二、开发板介绍

本文使用的开发板是基于瑞芯微 RK3568 设计的一款人工智能开发板,该开发板适配 Open Harmony 标准系统,适用于智慧显示、视频类、工业自动化等终端产品和边缘计算网关类产品。


三、准备工作

硬件准备RK3568开发板、双USB口数据线、电源适配器等。

软件准备

获取OpenHarmony的源代码。

准备RK3568的烧录工具,例如RKDevTool

安装并配置开发环境,比如确保有适合的编译工具链。


四、烧录步骤

1、下载驱动和烧录工具

访问:Firefly | 让科技更简单,让生活更智能 (t-firefly.com)

下载RK驱动助手和AndroidTool烧录工具。

下载完成后进行安装。

安装RK驱动助手

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


安装AndroidTool烧录工具

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

识别到连接设备时显示 Found One LOADER Device


2、下载hdc命令工具

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

获取HDC工具

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

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

下载链接https://gitee.com/openharmony/developtools_hdc_standard

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

下载完成后压缩包如下:

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

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

当前目录命令行里可以直接调用hdc的命令。

比如,我们查看版本:

hdc -v


解压并配置环境变量

为了使用hdc方便,我们可以配置环境变量,把hdc的路径配置到path里,这样以后我们访问hdc就不需要切换路径了。

我们在使用查看版本的命令。

下面是hdc的一些常用命令:

命令 描述

hdc list targets

列出当前连接的所有目标设备。

hdc shell

启动目标设备的shell终端。

hdc file send <local> <remote>

将本地文件 <local> 传输到目标设备的 <remote> 位置。

hdc file recv <remote> <local>

将目标设备的 <remote> 文件传输到本地 <local> 位置。

hdc install <package-path>

在目标设备上安装应用程序包。

hdc uninstall <package-name>

从目标设备卸载应用程序。

hdc start <package-name>

启动目标设备上的应用程序。

hdc stop <package-name>

停止目标设备上的应用程序。

hdc debug <package-name>

启动目标设备上的应用程序并连接调试器。

hdc getprop

获取目标设备的系统属性。

hdc setprop <key> <value>

设置目标设备的系统属性。

hdc reboot

重启目标设备。

hdc connect <device-ip>

通过IP地址连接到远程设备。

hdc disconnect <device-ip>

断开与远程设备的连接。

hdc shell ohos

进入OpenHarmony设备的OHOS交互命令行。

使用这些命令时,需要替换为具体的参数值。例如 <local> 需要替换为本地文件路径,<remote> 需要替换为目标设备上的文件路径,<package-path> 需要替换为应用包的路径,而 <package-name> 则是应用的名称或包名。


3、连接电脑和开发板

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

如果操作正确,主板将进入USB烧录模式,同时,RK录工具识别到连接设备,显示 Found One LOADER Device,后面我们使用RK录工具进行系统烧录即可


4、下载Open Harmony镜像

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


5、烧录OpenHarmony系统

在镜像下载完成后,我们需要导入镜像配置到烧录工具中。右键Loader导入配置,选择解压的镜像包中的config.cfg文件。

导入新配置后,miscsys-prodchip-prod三个分区不存在镜像,烧写时不能勾选。

点击右侧空白处可以修改固件位置,我们把位置修改为下载的dayu200里各个固件的路径。

点击执行,出现下载完成,即表示烧录成功。

如果烧录失败,在工具界面右侧会用红色的字体显示烧录错误信息,更多出错信息查看 Log 目录下的文件。


6、重启设备

录完成后,断开连接并重启设备,完成系统启动。


五、常见问题及解决办法

1Loader模式和Maskrom模式的区别

在我们烧录 Open Harmony 系统到 RK3568 开发板中时,可能会遇到两种烧录模式(Loader模式和Maskrom模式)。具体是哪种模式,主要取决于是否已经烧录过固件,如果固件已被烧录,系统将进入Loader固件烧写模式。如果是新开发板,默认进入Maskrom模式。本文我使用的开发板是已经烧录过的,所以烧录工具直接显示的是Loader模式。

下面是两种模式的详细介绍:

Loader模式和Maskrom模式是两种常见的设备启动模式,尤其在与RK系列芯片(如RK3568)进行系统烧录时。这两种模式在功能、启动条件和使用场景上有所不同。

特征 Loader模式 Maskrom模式

定义

一种中间启动模式,用于加载和执行更高级别的固件,如U-Boot或其他引导程序。

一种硬件级别的故障恢复模式,当设备无法通过正常方式启动时自动进入。

启动条件

设备可以正常访问存储介质中的引导加载程序。

设备无法从闪存(如NAND、eMMC)启动,可能由于引导部分损坏导致。

功能

主要用于固件升级、调试和开发。可以通过USB或其他接口与PC通信,进行数据传输和命令执行。

用于紧急恢复固件,只能通过特定的硬件接口(通常是USB)与PC通信,进行最低级别的数据传输。

使用场景

开发者或维修技师需要对设备进行更新、调试或维修时使用。

当设备无法正常启动,需要进行底层固件恢复时使用。

如何进入

通常通过特定按键组合、命令或通过在启动过程中检测到特定条件自动进入。

当设备检测不到有效的启动介质或启动文件损坏时自动进入;也可以通过硬件操作(如短接特定引脚)强制进入。

优势

提供了一个灵活的接口,用于系统升级和调试,不需要设备处于最底层的故障状态。

在设备软件严重损坏,无法通过Loader模式恢复时,提供了一个救命稻草,允许用户重新烧录启动程序。

在使用烧录工具时,两种模式都可以进行烧写。


2、烧录完成后无法开机

确保烧录的固件版本与设备兼容。

重新检查烧录过程中的分区配置,确保没有错误的分区操作。

如果可能,尝试重新烧录较早版本的固件,以判断是否为固件兼容性问题。

检查设备的硬件状态,如内存和存储是否存在问题。


3、烧录工具未发现设备

要严格按照下述操作,才可以进入开发板的烧录模式。

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

如果操作正确,主板将进入USB烧录模式,同时,RK录工具识别到连接设备,显示 Found One LOADER Device


六、Open Harmony烧录总结

烧录OpenHarmony系统到开发板上是一个充满挑战但又极具价值的过程。作为一个开源分布式操作系统,OpenHarmony代表了当前软件开发的最新趋势。无论是智能家居、可穿戴设备、车载系统还是工业自动化,OpenHarmony均提供了广泛的应用潜力。通过参与到OpenHarmony的开发和烧录中,开发者不仅能探索技术前沿,还能为构建全场景智能生活贡献力量,同时也是对开源社区的重要贡献。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。