2. OpenHarmony 手册¶
2.1. 支持设备列表¶
主控 | 板卡型号 | 板卡规格(内存) |
---|---|---|
RK3568 | ROC-RK3568-PC | 2G/4G(8G暂不支持) |
RK3568 | AIOJ-RK3568 | 2G/4G(8G暂不支持) |
2.2. 源码编译¶
2.2.1. 环境搭建¶
必要条件:X86-64 Ubuntu18.04操作系统(其他系统请自行解决依赖包问题)
sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex
bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib
libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache
libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8
python3-pip ruby
2.2.2. 源码下载¶
获取Firefly补丁脚本
mkdir openharmony
cd openharmony
wget https://gitlab.com/firefly-linux/openharmony/oh_sdk_preinit/-/raw/master/sdk_init.sh
chmod a+x sdk_init.sh
选择编译开发板
cd openharmony
# 查找支持的设备
./sdk_init.sh -l
# 选择指定开发板
./sdk_init.sh -b <BOARD_NAME>
获取OpenHarmony官方源码
cd openharmony
repo init --repo-url=https://gitlab.com/firefly-linux/git-repo -u https://gitee.com/openharmony/manifest.git -b refs/tags/$(cat .tag_release) --no-clone-bundle
.repo/repo/repo sync -c --no-tags
.repo/repo/repo forall -c 'git lfs pull'
获取Firefly补丁源码
cd openharmony
./sdk_init.sh -p
之后,更新代码运行如下命令:
cd openharmony
./sdk_init.sh -p
2.2.3. 获取docker¶
获取Docker镜像
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
进入源码根目录,创建本地docker
cd openharmony
docker run --name openharmony -itd -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
以后直接运行如下命令进入docker
docker start openharmony
docker exec -it openharmony /bin/bash
2.2.4. 源码编译¶
进入docker进行编译
# 必须进入docker
docker exec -it openharmony /bin/bash
# 第一次编译需要下载工具链,以后可以跳过
bash build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache
编译完成之后,镜像在 out/rk3568/packages/phone/images/
2.3. 固件烧录¶
目前仅支持将固件烧录到EMMC
步骤如下:
连接好USB线缆,线的接入方式请阅读下面链接:
ROC-RK3568-PC: https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC/03-upgrade_firmware.html
AIOJ-RK3568: https://wiki.t-firefly.com/zh_CN/Core-3568J/03-upgrade_firmware.html
准备好
MiniLoaderAll.bin
可以从以下链接下载 一个对应CPU型号的MiniLoaderAll.bin。
点击下载工具的
Advanced Function
,然后将准备好的MiniLoaderAll.bin
下载到存储器中,见下图点击
List Storage
读取存储器,此时存储列表选中的是SPINOR
,为确保Nor flash为空,我们选择EraseAll
擦除X
表示设备不存在该存储器0
表示存在该存储器,但未选中√
表示存在该存储器并处于被选中状态
在存储列表中选中
Emmc
后点击Switch Storage
可以看到存储列表中的
Emmc
状态就会从0
切到√
,表示选择将固件下载到eMMC点击
EraseAll
擦除点击下载工具的
Download Image
在SDK目录”out/rk3568/packages/phone/images/”中,找到”config.cfg”文件。右键”Load Config”时,选择这个配置文件。然后将各个分区的路径改为你的固件路径即可。
如果没有这个文件,可以去社区获取:https://dev.t-firefly.com/forum.php?mod=attachment&aid=ODc0N3xkNDVjZGI1OHwxNjYwNzkyMTUxfDY0MjY5OXwxMTg2MzE%3D
2.4. 其他参考链接¶
OpenHarmony官方文档:https://gitee.com/openharmony/docs/tree/master