OpenHarmony标准系统 [dayu200编译与烧录] 原创

stackor
发布于 2023-7-16 01:54
浏览
3收藏

本篇将详细介绍如何编译并烧录OpenHarmony标准系统


@toc

环境配置

作者的环境配置如下:Win + WSL2 + Ubuntu20.04 + OpenHarmony 3.2Release

标准系统(standard system)

OpenHarmony standard system 是面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。

润和HH-SCDAYU200开发套件

  • 基于Rockchip RK3568,集成双核心架构GPU以及高效能NPU;
  • 板载四核64位Cortex-A55 处理器采用22nm先进工艺,主频高达2.0GHz;
  • 支持蓝牙、Wi-Fi、音频、视频和摄像头等功能,拥有丰富的扩展接口,支持多种视频输入输出接口;
  • 配置双千兆自适应RJ45以太网口,可满足NVR、工业网关等多网口产品需求。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区


OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

OpenHarmony 3.2Release源码获取

OpenHarmony 3.2Release 是OpenHarmony里程碑式的一个版本,在开放原子开源大赛中,该版本也作为项目开发代码版本。在体验标准系统时,使用此版本的源码是一个不错的选择。

源码获取

repo + ssh 下载

注意:此方法需要配置好 git

详细的获取流程可以参考官方文档:

zh-cn/release-notes/OpenHarmony-v3.2-release.md · OpenHarmony/docs - Gitee.com

repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

repo + https 下载

repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

[ 推荐 ] Dev Eco Device Tool 获取

我们还可以通过Dev Eco Tool工具直接获取,这个操作更为简便,而且个人感觉速度要比repo sync -c 执行得更快,所以推荐大家直接使用一站式工具获取源码 。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

标准系统的全量编译

指令编译

./build.sh --product-name rk3568

Dev Eco Device Tool

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 一站式编译,我们需要安装如上图红色方框的部分,橙色方框需要去官方每日构建去下载,但是已经下架了相关信息了,不过没关系,这个不影响我们的编译,没有配置也没关系。之后点击左侧栏PROJECT TASKS 中的 build 即可。

关于编译时长的问题

​ 轻量系统的编译比较快,可以在几秒内完成。但是标准系统不一样,其自身代码就在20G这个量级,编译产物 out 目录也有10G。整个过程十分漫长,当然根据电脑配置不同,编译的时长也有所差异。作者的电脑是 i9-13980HX + 64G内存, 个人感觉还是挺高的,全量编译下来也用了50多分钟,近1个小时,也得益于使用了 WSL2, 能让虚拟机性能完全释放,WSL是真地香。关于WSL的环境搭建,可以看作者的另一个博客,里面详细的介绍了win + wsl 环境的搭建。

博客链接: OpenHarmony智能开发套件环境搭建篇

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 考虑到大家编译可能比较慢,本篇也会附上OpenHarmony 3.2Release 版本纯净代码 全量编译后的镜像文件 images ,供大家体验。

烧录

编译产物

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

out目录树结构

└──out
    ├── gen
    ├── kernel
    ├── preloader
    └── rk3568

烧录工具 [RKDevTool.exe]

​ 这个工具也会在本篇的附件 HiHope_DAYU200 中提供给大家。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 首次打开的话是需要下载固件的,但是这个过程也是自动化的,非常简单,就不演示了。下面我们开始烧录。

  • 导入镜像文件

​ 镜像文件,位于我们的产物out目录下,具体路径为:out/rk3568/packages/phone/images

​ 我们需要把这个文件全部移动到Windows系统下,这个烧录工具无法直接通过Windows的文件资源管理器识别WSL的文件内容。所以可以直接从资源管理器中先把文件拖到Windows的桌面上。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 右击选择 导入配置

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 选择images下的一个config.cfg 文件

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 修改镜像文件的路径

​ 导入镜像文件后,会发现一个问题,所有文件的路径都不对。这个只是路径错了,但实际的文件信息是成功配置好的,所以我们还需要手动地去修改以下这里的所有路径。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 还是注意images的存放位置,尽量不要出现中文。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 连接设备

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 连接成功后,我们可以看到烧录工具的提示信息,记住这个提示信息的位置,后面我们还需要观察。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 进入烧入模式

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 这里需要使用一个组合键,首先我们同时按住,按住橙色框出来的两个按键。待提示信息提示没有发现设备

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 松开绿色框中的按键,另一个保持按住的状态,代提示信息提示发现一个LOADER设备,此时开发板进入烧录待烧录的状态。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 开始烧录

    点击执行按键即可进行烧录,烧录完成后开发板会自动开机。

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 运行

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

WSL2 磁盘清理

​ 使用WSL2虽然很香,但是也有美中不足的地方。比如在我们清理文件的时候,WSL2的文件是清理掉了但是并不会释放存储空间,这会导致随着长时间的使用,磁盘空间不足的情况,特别是WSL默认是装在了系统盘上, 如果没有迁移,那更要注重日常的清理了。

diskpart

​ 我们主要使用diskpart来让WSL2释放出未归还的存储空间。首先以管理员模式运行PowerShell,一定要管理员模式。

  • 停止WSL的工作
wsl --shutdown

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 启动diskpart
diskpart

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 选择WSL的磁盘
select vdisk file="your path"

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 释放存储空间
compact vdisk

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

  • 完成后输入 exit 退出即可。

踩坑记录

​ 就是在编译源码的时候,作者没有使用hb

OpenHarmony标准系统 [dayu200编译与烧录]-鸿蒙开发者社区

​ 使用hb set指令也能够看到有hihope的rk3568,接着执行命令hb build -f进行全量编译。但是作者通过这个方式得到的编译产物始终无法让dayu200开机,会不停地重复开机画面进入不了系统。也不知道什么原因,hb指令编译过程中 INFO 是 7w9多条,而使用build.sh指令,和Dev Eco只有4w2条左右。有明白的大佬也可以出来解答一下哈。

参考阅读

zh-cn/release-notes/OpenHarmony-v3.2-release.md · OpenHarmony/docs - Gitee.com

使用diskpart释放WSL2的磁盘空间_wsl2释放空间_hzgaoshichao的博客-CSDN博客

https://gitee.com/hihope_iot/docs/tree/master/HiHope_DAYU200

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
images.zip 337.28M 26次下载
HiHope_DAYU200.zip 59.85M 76次下载
已于2023-7-16 01:54:44修改
3
收藏 3
回复
举报
回复
    相关推荐